2017-08-29 82 views
0

Specflow支持三种不同类型的自定义插件之间的区别是什么?我现在正在为CodedUI制作一个生成器插件,这个问题一遍又一遍地传遍我的脑海,文档要么是模糊的,要么是不完整的,所以我想我会问在这里的社区是否可以给我一个明确的具体解释运行时,生成器和运行时/生成器插件。他们做什么以及在添加插件时如何改变Specflow的功能?Specflow插件(Runtime,Generator,Runtime/Generator)的三种类型有什么区别?

,因为它是要知道如何将它们代码有用,我想知道背后究竟我有太多的工作和文档是在这一方面,而沉默的理论。

回答

1

SpecFlow当前工作的方式,将其转换你的功能设计文件中的.NET(C#/ VB)测试类或编译时间。这些生成的类位于MyStuff.feature.cs文件中。

一旦运行,从他们使用的SpecFlow运行时找到你需要的场景步骤提供自动化步骤定义,钩,一切生成的文件进行测试(在SpecFlow场景)。

发生器插件可以影响设计或编译时代码生成(例如可以生成一个特殊的属性的测试方法)。运行时插件可以影响测试的执行(例如添加特殊日志记录)。运行时/发生器只是一个可以同时改变的插件。

由于发电机插件加载和执行设计或编译时,你必须确保所有的插件依赖的是可用的。例如。你不能引用你的应用程序中的某个项目,因为在生成器已经被执行的时候,这些项目可能还没有完成。

+0

谢谢加斯帕,这是一个真正有用的解释,这正是我一直在寻找。这是非常令人沮丧的,因为有人在学习Specflow的时候没有理解Specflow在文档中所做的所有理论。谢谢你的帮助! –

相关问题