1

在为我得到的测试项目执行蛋糕脚本时,

    An error occurred when executing task 'test'.
    Error: System.Exception: DotCover: Process returned an error (exit code -3).
       at Submission#0.<.ctor>b__29(Exception exception)
       at Cake.Core.DefaultExecutionStrategy.HandleErrors(Action`1 action, Exception exception)
       at Cake.Core.CakeEngine.HandleErrors(IExecutionStrategy strategy, Action`1 errorHandler, Exception exception)
       at Cake.Core.CakeEngine.ExecuteTask(ICakeContext context, IExecutionStrategy strategy, Stopwatch stopWatch, CakeTask task, CakeReport report)
       at Cake.Core.CakeEngine.RunTarget(ICakeContext context, IExecutionStrategy strategy, String target)
       at Cake.Scripting.BuildScriptHost.RunTarget(String target)
       at Submission#0.<.ctor>b__31()
       at Cake.Core.ActionTask.Execute(ICakeContext context)
       at Cake.Core.DefaultExecutionStrategy.Execute(CakeTask task, ICakeContext context)
       at Cake.Core.CakeEngine.ExecuteTask(ICakeContext context, IExecutionStrategy strategy, Stopwatch stopWatch, CakeTask task, CakeReport report)
       at Cake.Core.CakeEngine.RunTarget(ICakeContext context, IExecutionStrategy strategy, String target)
       at Cake.Scripting.BuildScriptHost.RunTarget(String target)
       at Submission#0..ctor(Session session, Object& submissionResult)
       at Submission#0.<Factory>(Session session)
       at Roslyn.Scripting.CommonScriptEngine.Execute[T](String code, String path, DiagnosticBag diagnostics, Session session, Boolean isInteractive)
       at Roslyn.Scripting.Session.Execute(String code)
       at Cake.Core.Scripting.ScriptRunner.Run(IScriptHost host, FilePath scriptPath, IDictionary`2 arguments)
       at Cake.Commands.BuildCommand.Execute(CakeOptions options)
       at Cake.CakeApplication.Run(CakeOptions options)
       at Cake.Program.Main()

我怎么解决这个问题?

4

2 回答 2

2

Return code -3fromdotcover.exe表示正在分析的应用程序中的退出代码不等于0. (简单的英语,你的单元测试失败了)。请参阅此链接

要验证测试是否失败,请尝试在没有 DotCover 别名的情况下单独运行单元测试。

即使测试失败也要继续,请参阅Cake 中的错误处理

于 2017-07-05T18:48:23.263 回答
0

Cake 只是从底层工具(在本例中为 DotCover)返回退出代码。如果你在诊断模式下运行 Cake:

如何为 Cake 启用诊断详细信息

您应该能够获取正在执行的确切 DotCover 命令,然后您可以在命令行中手动运行它。此时,输出可能再次为 -3。

我要说的是,这很可能是 DotCover 分析您的应用程序的问题,而不是 Cake 的问题。

于 2017-07-05T06:15:21.120 回答