我使用@BeforeClass注释来确保一组活动只在一组5-6测试中完成一次。有一个由3个java文件组成的等级。
File1扩展TestCase
File2扩展了文件1 (这是我必须将类前注释放在setUp方法中的地方)
File3扩展了File2 (文件3有测试)。5,但我希望文件2中的设置只运行一次)
现在,文件2中的setUp方法在File3中的每个测试之前都会被调用。即使在放置@BeforeClass注释之后也是如此。如何确保此设置只对文件3中的所有测试运行一次?
发布于 2010-10-05 06:33:08
因为您正在扩展TestCase类,所以在每个测试开始之前都会调用setUp方法。对于junit 4,不需要扩展TestCase类。只要试着移除它,它就能工作了。您还需要在测试方法上添加@Test注释
发布于 2010-10-05 06:35:26
我怀疑您使用的是JUnit 3 TestRunner,它忽略注释,只使用命名约定(在每次测试之前通常都会运行setUp() )。尝试使用带有@Test注释的方法,但不要以"test“开头--如果它没有运行,则使用JUnit 3 TestRunner。
因此,要解决这个问题,请使用JUnit 4 TestRunner启动测试套件。
https://stackoverflow.com/questions/3861297
复制相似问题