在测试单例类时,我们需要单个实例在每次测试后“离开”。有没有一种方法可以在每次测试后配置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. 每个数据库行NUnit测试?
- 6. (C#与NUnit的2.6.4)[设置]运行每个测试用例
- 7. 为每个活动应用应用程序配置
- 8. 每个机器/每个用户的.NET应用程序许可
- 9. 解决方案:每个应用程序或每个应用程序套件
- 10. JUnit最佳实践:每个测试的不同灯具
- 11. MVC应用程序中的控制器应该为每个域对象或每组相关操作一个?
- 12. 如何测试每个客户端都有子域的Grails Web应用程序?
- 13. 反应程序清爽页面为每个项目删除
- 14. Django多个主机url配置每个应用程序
- 15. 每个需求,每个类或每个方法是否有测试用例?
- 16. 配置每个选项卡的Firebug而不是每个域的配置
- 17. 为测试类中的每个测试定制的设置
- 18. 每个iPhone应用程序
- 19. 多个NUnit测试程序集,每个程序集都需要不同的配置。我怎样才能让NUnit一次运行它们?
- 20. 每个Web应用程序的weblogic登录配置
- 21. SalesForce的每个安装配置应用程序
- 22. 配置Rails应用程序的每次运行,而不是每个环境
- 23. 如何测量每个django测试的时间配置文件?
- 24. 是否可以配置一个Facebook应用程序跨多个域使用?
- 25. 具有一个grails应用程序的多个或多个域?
- 26. 如何分割每个域的应用程序数据而不是每个应用程序实例?
- 27. 每个区域的CPUS配额24.是否每个区域分配8个?
- 28. 删除或Facebook应用程序配置股票应用供稿
- 29. 应该为每个创建的应用程序分配一个新用户吗?
- 30. 如何使Glassfish为每个应用程序使用不同的配置
如果单的设置是如此复杂,它需要在每次调用时进行测试,可以抑止创建逻辑到一个方法,然后测试方法呢? – roufamatic 2010-02-25 17:59:01