【发布时间】:2014-06-13 12:38:15
【问题描述】:
我是 C# 的新手,遇到以下情况。
我有一个名为 UnitTest1 的 Unit Test 类到名为 UnitTestProject 的项目中。
在这个类中我有以下方法:
[TestMethod]
public void ConnectionMaliciousCodeManager()
{
DataModel.MaliciousCodeManager manager = new DataModel.MaliciousCodeManager("DefaultConnection");
try
{
manager.openConnection();
}
catch (Exception ex)
{
Debug.WriteLine("Exception: " + ex.Message);
}
finally
{
manager.closeConnection();
}
}
而且效果很好。
现在我正在做一些重构,我在我的项目中创建了一个新的 MaliciousUnitTest 类,我想将以前的方法移动到这个新类中,但现在它不起作用。这是我的整个 MaliciousUnitTest 类代码:
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System.Diagnostics;
using System.Collections.Generic;
namespace UnitTestProject
{
[TestClass]
class MaliciousUnitTest
{
[TestMethod]
public void ConnectionMaliciousCodeManager()
{
DataModel.MaliciousCodeManager manager = new DataModel.MaliciousCodeManager("DefaultConnection");
try
{
manager.openConnection();
}
catch (Exception ex)
{
Debug.WriteLine("Exception: " + ex.Message);
}
finally
{
manager.closeConnection();
}
}
}
}
我没有错误,但问题是当我将鼠标光标放在 ConnectionMaliciousCodeManager() 方法上时,如果我尝试右键单击并单击 Run Tests 什么都没有发生。
如果我进入 Visual Studio Text Explorer 部分,我找不到 ConnectionMaliciousCodeManager()。
为什么?我错过了什么?要使用我在新的 MaliciousUnitTest 类中定义的测试方法,我该怎么做?
Tnx
【问题讨论】:
-
测试类是否需要为
public(而不是internal,默认可见性)?这似乎是 MSTest 而不是 NUnit。如果是,请调整标签。 -
Patrick 我打赌就是这样。写下来作为答案
-
@PatrickQuirk 如果你把它写下来,我会签收:-)
-
这只是一个猜测,但如果能成功那就太好了!
标签: c# .net unit-testing testing mstest