[英]Junit - method at the end of each test
我得到了一个方法,该方法在每次测试结束时都会调用,以重置流位置。
Test{
[....]
reset();
}
有什么优雅的方法可以避免这种重复?
尝试@After注解,它与JUnit一起使用。 来源示例:
public class Example {
File output;
@Before public void createOutputFile() {
output= new File(...);
}
@Test public void something() {
...
}
@After public void deleteOutputFile() {
output.delete();
}
}
其他答案建议在公共方法上使用@After
批注(最好使用名称teardown
),这在技术上是正确的,并且是对您问题的良好答案。
但是单元测试的基本特性是它们必须快速且彼此独立。
因此,更好的方法是在每次测试时都使用流的新鲜模拟。 最好使用Mockito,JMock之类的模拟框架来完成。
是的,使用@After注释创建新方法。
您应该使用@After注释-表示在每个方法运行结束时都需要完成一些操作。
使用@After
注释。
@Test
public void testSomething() {
// test goes here
}
@After
public void doSomethingAfterTest() {
// reset
}
正如其他人指出的那样,有@s: Before和After 。 具有这些批注的类实例方法将在每个测试用例之前/之后运行。
还有BeforeClass和AfterClass ,我还没有看到有人指出。 这些@可以放在类的静态方法上,并且这些方法将在类中的所有测试完成之前和之后执行。 在某些情况下很方便。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.