如何将MSTest单元测试支持添加到C#应用程序
如何将MsTest支持添加到VS2012中的现有C#应用程序项目?如何将MSTest单元测试支持添加到C#应用程序
我希望能够将单元测试添加到应用程序项目中,并让IDE集成在编辑器中显示“点击运行”图标。
我做不是想要创建一个单独的项目。
[EDIT1]
对于那些有兴趣谁,这是十分容易的NUnit的和作品“开箱即用”。如果你有一个很大的WPF应用程序,并希望能够从IDE启动每个UI窗口来预览或调试,而不必运行整个应用程序并导航到你想要查看的窗口,那么这样一个简单的内联测试就可以克服缺乏VS设计师的这个基本功能。
#if DEBUG
[TestFixture]
public class MainWindowTests
{
[Test]
[STAThread]
public void Test1()
{
Application a = new Application();
MainWindow w = new MainWindow();
a.Run(w);
}
}
#endif
NUnit的支撑组件的参考也可以容易地排除了使用在.csproj的文件有条件参考一个发布版本。 (支持从设计器运行对话框一直以来都是Visual Studio 6中的内置功能,但像许多其他有用功能丢失一样,因为MS演变VS)。
不要反对微软设计测试框架的方式 - 您需要创建一个单独的项目。测试项目包含很多内容(例如,对Microsoft测试程序集的引用),您不希望成为应用程序的一部分。
您将必须创建一个单独的项目,否则你只能在ReSharper的运行它们(ReSharper的将几乎运行任何程序上坚持[TestMethod]
)。
其实你可以在VS2012 IDE中运行这些测试。这里不需要Resharper。 – 2013-11-22 20:02:02
我在想,mstests还可以在单个项目的命令行上运行? – AnneTheAgile 2015-05-15 15:50:23
在VS2017使用netcoreapp 2.0(但我相信它会与框架工作)这些集添加到从的NuGet项目: - Microsoft.NET.Test.Sdk - MSTest.TestAdapter - MSTest.TestFramework
然后任何公开的方法标记为[TestMethod的用于标记为任何公共类[TestClass]可以在Visual Studio中作为测试运行。
看起来像我的问题的答案,但我认为我的问题的答案将回到使用NUnit。我希望MS现在让MSTest更有用,他们肯定有足够的时间赶上。 – Neutrino 2013-05-07 14:07:37