If an exception is thrown will test fail?
本问题已经有最佳答案,请猛点这里访问。
如果junit测试抛出异常:
1 | public void mytest throws InvalidUsageException |
这是否意味着如果测试抛出InvalidUsageException,那么测试将失败?
如果是这样,更好的设计是将一个异常包装在try / catch块中,并且抛出异常的显式失败?
如果抛出此异常,测试将失败。
如果您的测试是要查看是否存在某个异常抛出,您应该开始测试
1 2 3 4 | @Test(expected=InvalidUsageException.class) public void mytest { ... } |
首先,是的,你的测试将失败。
其次,我不会用try catch包裹。 如果发生异常,您希望让它发生,以便您意识到发生了错误,而不仅仅是方法本身的错误。
你说的可能是一个解决方案
1 2 3 4 5 6 7 8 | public void mytest() { try { // your code fail(); } catch (InvalidUsageException e) { // success } } |
更快的方法(但我不会说更清楚)
1 2 3 4 |
更多这样的例子在http://www.vogella.com/articles/JUnit/article.html
是的,这将失败。 如果你期望exceptin然后使用