stacktracetest.groovy

来自「Groovy动态语言 运行在JVM中的动态语言 可以方便的处理业务逻辑变化大的业」· GROOVY 代码 · 共 31 行

GROOVY
31
字号
/**
* This test case is added to ensure an exception thrown from inside
* groovy does always contain a valid line number and file name for
* the script method the exception is thrown from.
*
* See also GROOVY-726
*/
class StackTraceTest extends GroovyTestCase {


	public void testTrace() {
		def className = this.class.name
		def assertDone = false	
		try {
		  throw new Exception("e")
		} catch (Exception e) {
		  assert e.message == "e"
		  def trace = e.stackTrace
		  trace.each {
		    if (it.className == className && it.methodName == "testTrace") {
		      assert it.lineNumber>0
		      assert it.fileName != null
		      assert it.fileName.length() > 0
		      assertDone = true
		    }
		  }
		}
		assert assertDone==true
	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?