以下是我試圖達到的目標。我通過nuget提供了一些代碼,並且還想發佈第二個包含測試的nuget來驗證服務是否正常工作/部署。該測試nuget將包含所有核心測試,無需進行任何修改(除了通過配置文件)。如何從外部程序集運行測試
因此,這裏是從大會一基類:
[TestClass]
public abstract class BaseTestClass
{
[TestCleanup]
public void TearDown()
{
// do some cleanup...
}
[TestMethod]
public void BaseTest()
{
// base test code...
}
}
而現在,我要引用這個大會一個到另一個組件B,做這樣的事情:
[TestClass]
public class ChildTestClass : BaseTestClass
{ }
問題是,測試瀏覽器沒有看到BaseTest方法。它只會看到在子類本身中聲明的測試方法。沒有正確發現基類中的任何測試方法。
我該怎麼做?
僅供參考:當我做同樣的事情時它工作正常,但都在同一個裝配/項目中。我正在使用MSTest和ReSharper測試運行器。 MSTest不會顯示任何內容,但ReSharper有時會顯示基本測試,但從不運行它,即使我能夠選擇並運行特定測試,它也將始終只運行在子類中聲明的測試。
我編輯了自己的冠軍。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 – 2015-02-23 21:00:42
@JohnSaunders,謝謝你的修改。我不知道這個規則。 – Jeep87c 2015-02-23 21:10:10
試用NUnit 2.6.4。我只是將我的TestBaseClass之一移動到一個單獨的DLL,並繼續工作。不是一個答案,至少不是你正在尋找的那個,但即使遷移有點勞動密集型仍然是一個選擇。 – user922020 2015-02-23 22:01:51