NUnit addin - 我是否必须在每个测试项目中包含插件实现?

Bru*_*Sun 5 nunit add-in load

我最近在这里发现了一个有用的帖子:NUnit扩展

但是我的问题仍未得到解答.

首先,无论如何,什么是' 测试组件 '?

其次,有人可以给我一个更详细的解释' NUnit搜索每个测试程序集以加载插件 '吗?

例如,我在VS2010解决方案中有两个项目,比如项目A和项目B.A是一个测试项目(里面包含'[Test]'),B是一个NUnit addin项目(包含addin安装程序,EventListener接口实现,内部),和,A参考B.这是否有效?是否会调用插件?

如果没有,我认为这意味着我必须拥有直接包含在项目A中的各种.cs文件(实现NUnit插件),而不是将它们放入单独的项目中并在测试项目中引用它.你是这个意思吗?

如果是这样,另一个问题是,当我有项目C,D,E ......也是测试项目时,我必须在每个测试项目中包含那些各种.cs文件(实现NUnit插件)?

Bru*_*Sun 1

这是查理在谷歌群组上提供的答案。非常感谢查理! https://groups.google.com/forum/?fromgroups#!topic/nunit-discuss/yTKRKf2APLI

回复:[nunit-讨论] 回复:NUnit 扩展

2012 年 5 月 21 日星期一上午 8:13,Athrun Sun 写道:

嗨查理,

您能给我更详细的解释“NUnit 搜索每个测试程序集以查找要加载的插件”吗?

例如,我的 VS2010 解决方案中有两个项目,即项目 A 和项目 B。A 是一个测试项目(内部包含“[Test]”),B 是一个 NUnit 插件项目(包含插件安装程序、EventListener 接口实现,等等),以及,A 引用 B。这有效吗?插件会被调用吗?

在那种情况下,不。B 不是测试组件。

如果没有,我假设您的意思是我必须将各种 .cs 文件(实现 NUnit 插件)直接包含在项目 A 中,而不是将它们放入单独的项目中并在测试项目中引用它。你是这个意思吗?

确切地

如果是这样,就会出现另一个问题,即,当我有项目 C、D、E... 也是测试项目时,我必须在每个测试项目中包含这些各种 .cs 文件(实现 NUnit 插件)?

提供此功能是为了允许测试正在开发的扩展,因此需要在多个程序集中使用扩展并不是真正的问题。事实上,如果您要在两个程序集中复制代码,我想 NUnit 会尝试注册两个不同的插件,这可能会产生令人惊讶的结果。:-)

对于生产使用,您应该以正常方式将插件安装在 addins 文件夹中。此外,最好不要从代码中引用插件程序集。尽管这并不总是会导致问题,但有时确实会导致插件被加载两次。

查理 - 显示引用的文字 -

要在网络上查看此讨论,请访问https://groups.google.com/d/msg/nunit-discuss/-/a730uESbNJUJ。- 显示引用的文本 -