将unit testing写入assembly或单独的assembly中?
在编写unit testing时,您是否将测试放在要测试的组件内或单独的测试组件中? 我已经在一个单独的程序集中编写了一个带有测试的应用程序,以便于部署,因为我可以排除程序集。 有没有人在你想测试的程序集中写那些测试,如果有的话,它的理由是什么?
我有一个带有接口项目,测试项目,域项目和数据项目的解决方案。 当我发布时,我只发布了接口,它没有引用测试,所以它没有被编译。
编辑:最重要的是你不希望它成为你最终版本的一部分。 您可以使用单独的项目/程序集在VS中自动实现此目的。 但是,您可以在同一个程序集中使用它,但如果您使用的是nant或msbuild,则不能编译该代码。 虽然有点凌乱,保持整洁,使用单独的组装:)
这在全网广泛争论。
我们使用单独的程序集和InternalsVisibleTo属性来帮助测试程序组件查看测试程序集的所有内部结构。 我们倾向于为我们正在测试的每个组件制作一个测试组件。
我想说,在您的最终部署中,您唯一想要合并任何测试代码的时间是用于监视和控制应用程序的测试代码。
将测试代码留在部署中:
另一方面解耦允许您:
HTH
干杯,
抢
在一个不同的集会。 否则你的程序集将引用测试框架(例如Nunit.Framework.dll),你需要在客户机器上安装它,
即使您发布的是库,并且您希望您的客户将unit testing视为示例或关于如何使用您提供的对象的具体说明,在生产assembly中包含的内容也很少。
您可以将它们保存在解决方案中的单独程序集中,稍后ILMerge它们以进行调试,并且不要将它们ILMerge用于发布。
上述就是C#学习教程:将unit testing写入assembly或单独的assembly中?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/950709.html