我正在使用dotnet core 2+,但问题可能更普遍。
我的CI管道当前如下所示:
dotnet build -c Release
dotnet test
dotnet public -c Release --no-build
对于测试步骤,它使用默认的Debug
配置,因此它还必须使用Debug
配置来构建应用程序。
因此,我想知道,使用Debug
而不是Release
进行测试是否有优势?还是我应该简单地添加dotnet test -c Release
?
答案 0 :(得分:1)
我相信可以通过比较“调试”和“发布”之间的差异来进行选择。
在发布模式下:存在编译器的优化。编译器做了一些底层改进。这导致原始代码可以在某些地方进行显着更改。 (某些变量和方法调用可以通过不明显的方式进行优化)。
在调试模式下:代码未经过优化,编译器将与最终程序集一起生成.pdb文件,并将其用于逐步调试。
结论是,对于测试,最好使用发布模式:
P.S。除此之外,请密切注意预处理器指令和配置转换(如果存在),并取决于构建配置。
答案 1 :(得分:0)
如果不打算调试测试,请不要使用Debug模式。有时,人们需要通过测试调试应用程序,甚至调试其测试程序。如果不是这种情况,请使用“释放”模式,它会更轻。