由于完整的WPF MVVM设计,我设法在手动场景测试期间记录所有命令并在XML文件中查看事件(抛出视图模型,如选定对象,显示对象ID,...)。 然后很容易重播录制的情景:)
它工作正常并允许快速检查我的大部分代码 - 我为此感到自豪并对.Net感到非常兴奋! ; O)
但是,我怎样才能检查我的代码覆盖率?
我在这种情况下不使用单元测试,只是在调试模式中运行应用程序,但我想知道哪些代码经过测试/未经测试。
有什么想法吗?
谢谢, 钕
答案 0 :(得分:0)
如果你想在实时测试中执行代码覆盖,即不是一组单元测试,那么你可以创建一个实际激活实时代码的单元测试(例如,调用main或者你的程序运行) up),执行测试场景,然后结束程序。此时,单元测试框架(我推荐Haukinger所述的dotCover)将会看到测试已经结束,它将为您提供代码覆盖率信息。
答案 1 :(得分:0)
感谢代码项目的朋友,我终于找到了一篇很棒的文章:
https://www.codeproject.com/articles/590346/codepluscoverageplusforplusregressionplustestsplus
感谢snehal harawande免费提供有关scenarii测试的精彩文章。我确实使用.Net 4.5.2 64位(在第一批行参数上添加“x64”),我确实在VS Enterprise中导入了结果。这是完美的:))
全部谢谢
答案 2 :(得分:0)
添加对Microsoft.VisualStudio.QualityTools.UnitTestFramework
的引用,然后按如下方式修改App.xaml.cs
:
+using System.Reflection ;
+using Microsoft.VisualStudio.TestTools.UnitTesting ;
namespace YourAppNamespace
{
/// <summary>
/// Interaction logic for App.xaml.
/// </summary>
+ [TestClass]
public partial class App
{
+ [TestMethod]
+ public void Test ()
+ {
+ ResourceAssembly = Assembly.GetExecutingAssembly () ;
+ InitializeComponent () ;
+ Run () ;
+ }
}
}
现在您可以使用Visual Studio的内置测试运行器和代码覆盖率检测:而不是“Debug / Start Debugging”使用“Test / Analyze Code Coverage / All Tests”。 (但是控制台测试运行器vstest.console.exe
不起作用。)