【发布时间】:2012-09-14 18:03:56
【问题描述】:
我第一次尝试使用 Spring 设置 Junit 测试套件,并尝试在我的类中进行一些更改,但没有运气并最终出现此错误:“junit.framework.AssertionFailedError: No tests found in Myclass”
简而言之,我有 2 个测试类都来自同一个基类,它们加载 Spring 上下文,如下所示
@RunWith( SpringJUnit4ClassRunner.class )
@ContextConfiguration( locations =
{
"classpath:ApplicationContext.xml"
})
我尝试将这 2 个测试类添加到一个套件中,如下所示
@RunWith( SpringJUnit4ClassRunner.class )
@SuiteClasses({ OneTest.class, TwoTest.class })
public class MyTestSuite extends TestCase {
//nothing here
}
我正在从 ant 运行这个测试套件。但是,这给了我一个错误,说“没有找到测试” 但是,如果我从 ant 运行单独的 2 个测试用例,它们可以正常工作。不知道为什么会出现这种行为,我肯定在这里遗漏了一些东西。请指教。
【问题讨论】:
-
您想尝试使用
@Test注释(这是自Junit 4 以来测试方法的限定方式)而不是扩展TestCase(在Junit 4 之前)? -
Vikdor,我为这些类中的所有测试方法添加了 @Test 注释。我为套件扩展的这个 TestCase 类。
-
抱歉,我没有意识到您希望 MyTestSuite 成为一个套件。使用
@RunWith(Suite.class)运行测试套件。在需要注入 bean 的测试用例中需要@RunWith(SpringJunit4ClassRunner.class)。 -
@Vikdor 是的,我也试过了。当我尝试上述方法时,我得到“无法加载 ApplicationContext”。但如果我从 ant 单独运行测试类,它会正确加载。
-
@Vikdor 这是我的蚂蚁任务。