在測試單例類時,我們需要單個實例在每次測試後「離開」。有沒有一種方法可以在每次測試後配置nunit重新創建測試應用程序域,或者至少在每次測試之後重新創建測試應用程序域?可以將nunit配置爲刪除每個燈具(或每個測試)的應用程序域
5
A
回答
0
我想我在這裏失去了一些東西拉爾夫。爲了我自己的利益,你能解釋爲什麼添加具有下列屬性的方法到你的測試類中去掉並重新創建你的實例不適合你嗎?
爲方法添加這些屬性應使它們在每次測試之前/之後運行。
[設置]
[TearDown中]
添加這些屬性的方法應該讓他們在燈具前後運行/。
[TestFixtureSetUp]
[TestFixtureTearDown]
有爲什麼使用這些屬性的方法不能創建和銷燬測試之間的域中的原因是什麼?
4
當通過條件方法測試時,您可以提供更新單例實例的方法。
// CUT
public sealed class Singleton{
private static Singleton _instance = new Singleton();
private Singleton()
{
// construct.
}
public static Singleton Instance{
get{
return _instance;
}
}
[Conditional ("DEBUG")]
public static void FreshInstance(){
_instance = new Singleton();
}
}
// NUnit
[TestFixture]
public class SingletonTests{
[SetUp]
public void SetUp(){
Singleton.FreshInstance();
}
}
1
我需要做同樣的事情,所以我創建了一個庫,基本上採用當前的測試,並在新的AppDomain重新執行它。這是一個名爲NUnit.ApplicationDomain的nuget包,並且是open source。
示例代碼:
[Test, RunInApplicationDomain]
public void Method()
{
Console.WriteLine("I'm in a different AppDomain")
}
相關問題
- 1. HttpContext.Cache - 每個請求或每個應用程序域?
- 2. NUnit:跨越多個燈具的測試夾具中的每個測試的SetUp和TearDown
- 3. Payara(Glassfish)每個域名或每個域名一個應用程序的多個應用程序
- 4. NUnit的 - 全球方法每個測試
- 5. 在IIS中配置New Relic以顯示每個域的一個應用程序
- 6. 催化劑應用程序模板工具包每個域的不同配置
- 7. 每個數據庫行NUnit測試?
- 8. (C#與NUnit的2.6.4)[設置]運行每個測試用例
- 9. 爲每個活動應用應用程序配置
- 10. 應該爲每個應用程序配置一次RedisMqServer/RedisMqHost?
- 11. 每個機器/每個用戶的.NET應用程序許可
- 12. 解決方案:每個應用程序或每個應用程序套件
- 13. 使用Nunit爲多個測試程序集設置Jenkins
- 14. 爲每個應用程序提供配置文件?
- 15. JUnit最佳實踐:每個測試的不同燈具
- 16. 谷歌地方api配額,它是每個應用程序或每個應用程序的用戶一般?
- 17. 每個應用程序的PHP設置
- 18. createEntityManager - 每個請求或每個應用程序?
- 19. MVC應用程序中的控制器應該爲每個域對象或每組相關操作一個?
- 20. 是從NUnit 3.0.1中刪除的NUnit窗口測試工具
- 21. 如何測試每個客戶端都有子域的Grails Web應用程序?
- 22. 反應程序清爽頁面爲每個項目刪除
- 23. Django多個主機url配置每個應用程序
- 24. 每個需求,每個類或每個方法是否有測試用例?
- 25. 配置每個選項卡的Firebug而不是每個域的配置
- 26. 是否可以在.gitconfig中爲每個通配符域配置user.name和user.email?
- 27. 爲測試類中的每個測試定製的設置
- 28. 多個NUnit測試程序集,每個程序集都需要不同的配置。我怎樣才能讓NUnit一次運行它們?
- 29. 每個iPhone應用程序
- 30. SalesForce的每個安裝配置應用程序
如果單的設置是如此複雜,它需要在每次調用時進行測試,可以抑止創建邏輯到一個方法,然後測試方法呢? – roufamatic 2010-02-25 17:59:01