我正在使用dotCover来分析我的单元测试的代码覆盖率,我得到了一些奇怪的结果......我有一个覆盖率不完整的迭代器方法,但未覆盖的语句只是方法末尾的右大括号。这是我正在测试的方法:publicstaticIEnumerableCommonPrefix(thisIEnumerablesource,IEnumerableother,IEqualityComparercomparer){source.CheckArgumentNull("source");other.CheckArgumentNull("other");returnsource.CommonPrefixImpl(oth
我有一堆测试覆盖率接近100%的程序集,但我经常遇到如下例所示的情况。我无法测试默认的switch案例,这是为了防止将来出现错误,在这种情况下,我向枚举添加了更多项目,但忘记更新switch语句以支持新项目。我希望能够找到一种模式,在其中我可以消除“无法测试”的代码,对其进行测试,或者标记那行代码(但不是整个方法)以被排除覆盖率分析。这听起来可能很傻,但我不想假设默认情况永远不会发生,我也不想将默认情况与已经存在的情况捆绑在一起。我希望在创建此类错误时抛出异常。这迟早会发生。目前我使用DotCover来计算覆盖率。注意:这只是示例代码,但我认为它说明了一种相当常见的模式。publicc
我有一堆测试覆盖率接近100%的程序集,但我经常遇到如下例所示的情况。我无法测试默认的switch案例,这是为了防止将来出现错误,在这种情况下,我向枚举添加了更多项目,但忘记更新switch语句以支持新项目。我希望能够找到一种模式,在其中我可以消除“无法测试”的代码,对其进行测试,或者标记那行代码(但不是整个方法)以被排除覆盖率分析。这听起来可能很傻,但我不想假设默认情况永远不会发生,我也不想将默认情况与已经存在的情况捆绑在一起。我希望在创建此类错误时抛出异常。这迟早会发生。目前我使用DotCover来计算覆盖率。注意:这只是示例代码,但我认为它说明了一种相当常见的模式。publicc
我有一个现有的C#4项目,我已经使用TestDriven.Net和VisualStudio覆盖功能检查了它的测试覆盖率,即上下文菜单中的测试方式->覆盖率。该项目包含一些我不想覆盖的代码,我已经通过为这些类型和方法添加[ExcludeFromCodeCoverage]解决了这个问题。我们刚刚将TeamCity升级到6.0.3,并且我在NUnit构建步骤中添加了dotCover覆盖范围。我已经设法在“过滤器”部分中删除了对外部程序集(例如NHibernate)的覆盖(通过明确说明我想要覆盖的程序集),但我正在努力解决如何从覆盖的程序集中排除类型和方法. 最佳答
我有一个现有的C#4项目,我已经使用TestDriven.Net和VisualStudio覆盖功能检查了它的测试覆盖率,即上下文菜单中的测试方式->覆盖率。该项目包含一些我不想覆盖的代码,我已经通过为这些类型和方法添加[ExcludeFromCodeCoverage]解决了这个问题。我们刚刚将TeamCity升级到6.0.3,并且我在NUnit构建步骤中添加了dotCover覆盖范围。我已经设法在“过滤器”部分中删除了对外部程序集(例如NHibernate)的覆盖(通过明确说明我想要覆盖的程序集),但我正在努力解决如何从覆盖的程序集中排除类型和方法. 最佳答
我正在基于Linux的Docker容器中构建和运行.NETCore应用程序。我无法确定dotCover是否跨平台?我也想……在Docker容器内安装并运行dotCover(即$dotcoveranalyze...)。或者在Docker容器内的测试步骤中运行一些兼容的工具,并将文件发送回主机,我可以在主机上运行dotCover。显然,我已经在使用dotCover"serverpackage".它并不表示它是跨平台的。所以,也许我一直在寻找另一种方法。 最佳答案 为下一位读者再复活一次。Jetbrains发布了一个跨平台控制台运行器。h
我正在基于Linux的Docker容器中构建和运行.NETCore应用程序。我无法确定dotCover是否跨平台?我也想……在Docker容器内安装并运行dotCover(即$dotcoveranalyze...)。或者在Docker容器内的测试步骤中运行一些兼容的工具,并将文件发送回主机,我可以在主机上运行dotCover。显然,我已经在使用dotCover"serverpackage".它并不表示它是跨平台的。所以,也许我一直在寻找另一种方法。 最佳答案 为下一位读者再复活一次。Jetbrains发布了一个跨平台控制台运行器。h
我有一个包含3个项目的解决方案。项目1VS2017风格的.CSPROJ项目,该项目具有多静脉net45和netstandard1.1.项目2和3两个传统的VS2015风格.CSPROJ测试项目,定位net45,使用Nunit。项目2和3的原因之所以不新样式,是因为现在看来,Resharper无法识别这些用于运行测试的组件。它确实在针对任何.NETFrameWory(完整)或netcore不过,集会。使用该结构,我可以通过DotCover的单元测试窗口来运行所有测试,但是当尝试收集覆盖范围时,它将为老式项目返回所有绿色,而全部为新样式项目返回。覆盖树显示了我的新型项目的0%覆盖范围。尽管测试成功
我尝试在TeamCity8中使用我的NUnit测试运行dotCover作为构建步骤。但是无论我尝试什么,我总是在日志文件中得到同样的错误:Step4/4:Coverage(NUnit)(1s)[Step4/4]Starting:C:\TeamCity\buildAgent\plugins\dotnetPlugin\bin\JetBrains.BuildServer.NUnitLauncher.exe#TeamCityImplicit[Step4/4]indirectory:C:\TeamCity\buildAgent\work\6aee0f0d2626793d[Step4/4]##te