Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用继承设置MSUnit测试_C#_Unit Testing_Mstest - Fatal编程技术网

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。我记得当签名与中的签名不完全匹配时,我遇到了类似的问题。

我不是肯定的,但是您是否尝试过将
初始连接
回滚连接
设置为公共
,而不是
受保护
?只是在黑暗中拍摄(我所看到和使用的例子已经公开了)。编辑:另外,如果你的断点没有被击中,那么这些方法实际上是空的吗?你是在发布模式下运行吗?是的。。它应该是公开的。。您可以有一个虚拟方法,当需要一些额外的初始化时,您希望使用它。这是正确的-这些方法需要是公共的,并且可以工作。