C# 使用继承设置MSUnit测试
我正在尝试设置一个测试初始化函数来处理一些基本的数据库设置任务;这是我的基本类:C# 使用继承设置MSUnit测试,c#,unit-testing,mstest,C#,Unit Testing,Mstest,我正在尝试设置一个测试初始化函数来处理一些基本的数据库设置任务;这是我的基本类: [ TestClass] public class BaseTest { private SqlConnection sqlConnection; protected SqlTransaction sqlTransaction; [TestInitialize ()] protected void InitialiseConnection() { //
[ TestClass]
public class BaseTest
{
private SqlConnection sqlConnection;
protected SqlTransaction sqlTransaction;
[TestInitialize ()]
protected void InitialiseConnection()
{
// Set-up sqlTransaction
}
[ TestCleanup ()]
protected void RollbackConnection()
{
// Cleanup
}
然后我就这样使用它:
[ TestClass]
public class MyTest : BaseTest
{
[ TestMethod ]
public void MyFirstTest()
{
/// Access DB here crashes because sqltransaction is null
基类上的断点表明它没有调用
InitialiseConnection
方法。我遗漏了什么吗?将标记为TestInitialize
的方法设置为public而不是protected。我记得当签名与中的签名不完全匹配时,我遇到了类似的问题。我不是肯定的,但是您是否尝试过将初始连接
和回滚连接
设置为公共
,而不是受保护
?只是在黑暗中拍摄(我所看到和使用的例子已经公开了)。编辑:另外,如果你的断点没有被击中,那么这些方法实际上是空的吗?你是在发布模式下运行吗?是的。。它应该是公开的。。您可以有一个虚拟方法,当需要一些额外的初始化时,您希望使用它。这是正确的-这些方法需要是公共的,并且可以工作。