我正在为一个项目使用声纳分析。我无法获得代码覆盖率,因为当我使用Gallio运行时,测试会给出错误。
如果我用nunit-console.exe运行相同的单元测试,它们都通过了。(我在cmd的管理员模式下运行这个)
但是当我用镓运行它们时,它们失败了。有人遇到过这个问题吗?
这是我用声纳天线运行时得到的结果。
03:51:30.754 INFO - 101运行,7通过,94失败(94错误),0不确定,0跳过03:51:30.754 info -03:51:30.910信息-提交…03:51:31.238 INFO -参观11班20 (55)03:51:31.238信息访问方法80(20)中的1603:51:31.238 INFO -访问点66的519 (12.7167630057803)03:51:31.238 INFO -访问122分行7 (5.73770491803279)03:51:31.238信息03:51:31.238 INFO - ====备选结果(包括所有方法,包括没有相应来源的方法)====03:51:31.238信息-参观课程11/25 (44)03:51:31.238 INFO -替代访问方法166中的23 (13.855421686747)03:51:31.488 INFO - Sensor org.sonar.plugins.csharp.gallio。GallioSensor@964f8e完成:22314毫秒03:51:31.488 INFO - Sensor profilsensor…03:51:32.145信息-传感器概况传感器完成:657毫秒03:51:32.145 INFO - Sensor ProfileEventsSensor…03:51:32.160 INFO - Sensor ProfileEventsSensor完成:15毫秒03:51:32.160 INFO - Sensor ProjectLinksSensor…03:51:32.160 INFO - Sensor ProjectLinksSensor done: 0 ms03:51:32.160 INFO - Sensor VersionEventsSensor…03:51:32.176 INFO - Sensor VersionEventsSensor done: 16毫秒03:51:32.176 INFO - Sensor org.sonar.plugins.csharp.gallio.TestReportSensor@412739..。03:51:32.957 INFO - Sensor org.sonar.plugins.csharp.gallio。TestReportSensor@412739完成时间:781毫秒03:51:33.410 INFO - Execute decorators…
当我用Nunit-console.exe从命令行运行它时。我得到了相同的结果。但是当我以管理员身份从命令行使用Nunit-console.exe运行它时。我得到以下输出:
测试运行:101,错误:0,失败:0,不确定:0,时间:27.3760719秒未运行:0,无效:0,忽略:0,跳过:0
所以我想我需要作为Sonar的管理员来运行这些测试。我怎么做呢?
我还尝试以管理员身份从(galio) Icarus GUI Test Runner运行这些测试,所有测试都通过了。如果我在常规模式下运行,它们不通过
如果以管理员身份启动单元测试时执行成功,您应该想知道为什么您的测试需要这样的权限才能正确执行。
使分析通过的第一个解决方案是以管理员身份运行Sonar分析:Gallio命令将使用相同的用户运行,因此它应该成功。
第二个(也是更好的)解决方案是重新工作您的测试和/或它们的配置,以确保它们不需要管理员权限即可成功。