我有兩種邏輯測試類別:純粹的功能單元測試(通過/失敗)以及僅用於度量/診斷的基準測試。使用JUnit類別與簡單地在單獨的類中組織測試
目前,我有一個類中的所有測試方法,稱之爲MyTests
:
public class MyTests
{
@Test
public void testUnit1()
{
...
assertTrue(someBool);
}
@Test
public void testUnit2()
{
...
assertFalse(someBool);
}
@Test
@Category(PerformanceTest.class)
public void bmrkPerfTest1()
{
...
}
@Test
@Category(PerformanceTest.class)
public void bmrkPerfTest2()
{
...
}
}
然後,我有一個UnitTestSuite
定義爲
@RunWith(Categories.class)
@Categories.ExcludeCategory(PerformanceTest.class)
@SuiteClasses({ MyTests.class })
public class UnitTestSuite {}
和PerformanceTestSuite
@RunWith(Categories.class)
@Categories.IncludeCategory(PerformanceTest.class)
@SuiteClasses({ MyTests.class })
public class PerformanceTestSuite {}
,以便我可以在中運行單元測試與性能測試分開(我不認爲包括Ant代碼是必要的)。
這意味着我總共有四個類(MyTests,PerformanceTest,PerformanceTestSuite和UnitTestSuite)。我意識到我可以將所有的單元測試放在一個類中,並在另一個類中進行基準測試,並完成它,而不需要類別和額外註釋的額外複雜性。我在Ant中通過類名稱調用測試,即不要在包中運行所有測試。
它是否有意義,以及如何使用註解保持它按類別組織的原因是什麼?或者如果我只是在兩個簡單的測試類中重構它,它會更好嗎?