我有一个抽象的基础测试类,它有一个AssemblyInitialize应用于方法的属性.但它永远不会被执行...抽象基础测试类在另一个程序集中,因为它是用于通用扩展.任何想法如何解决这个问题?
代码
[TestClass]
public abstract BaseTestClass
{
[AssemblyInitialize]
public static void AssemblyInit(TestContext context)
{
//DoDomething
}
}
Run Code Online (Sandbox Code Playgroud)
提前致谢
发生这种情况是因为如果不从中运行测试,则永远不会初始化程序集.我可以给出的解决方案(可能是一个傻瓜)是使用AssemblyInitialize其他组件并调用基础AssemblyInitialize
在TestProject包含测试的内容中添加以下代码:
[TestClass]
public class UnitTest1
{
[AssemblyInitialize]
public static void AssemblyInitialize(TestContext testContext)
{
// call the base AssemblyInitialize
BaseTestProject.BaseTest.AssemblyInitialize(testContext);
}
public TestContext TestContext { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
尝试在Test Project中实现一个没有继承的单独类:
[TestClass]
public static class YourClass
{
[AssemblyInitialize]
public static void AssemblyInit(TestContext context)
{
//DoSomething
}
}
Run Code Online (Sandbox Code Playgroud)
它应该被称为.
| 归档时间: |
|
| 查看次数: |
6868 次 |
| 最近记录: |