[英]JUnit test is getting executed when it's not supposed to
我是JUnit
新手。 以下是我的類層次結構,其中層次結構頂部和底部的類具有@Test
方法。 當我執行整個束時,位於層次結構中間的ConverterBaseEnquiryTest
也會被執行。 (這是我的猜測,因為我在使用此名稱的surefire
報告中看到異常)。
我從ConverterBaseEnquiryTest
獲得初始化錯誤,因為它不應該被執行。 有沒有辦法弄清楚為什么會這樣?
以下是我的層次結構:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {
"classpath:spring/test-default-context.xml"
})
@TransactionConfiguration( transactionManager="profile.transactionManager", defaultRollback=false )
@Ignore
public class BaseCommonTest extends AbstractTransactionalJUnit4SpringContextTests {
abstract public class ConverterBaseTest<F,T> extends BaseCommonTest {
// ...
}
public class ConverterBaseEnquiryTest<F, T> extends ConverterBaseTest<Enquiry, T> {
// ...
}
public class EnquiryToDvsMedicareRequestConverterTest extends ConverterBaseEnquiryTest<Enquiry, DvsMedicareRequest> {
// ...
}
我認為這是因為@Ignore
注釋不可繼承,因此JUnit將在子類中執行測試。 (雖然發布堆棧跟蹤會對我們有幫助)。
這意味着您還需要在所有子類上放置@Ignore
。
或者,為了避免這種情況,您可以在基類上使用@IfProfileValue
(繼承)來禁用測試。 這是SpringJUnit4ClassRunner
支持的Spring注釋。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.