为现有MSTest项目添加Reqnroll后测试无法执行的解决方法
解决Reqnroll测试在MSTest项目中不显示的问题
针对你的情况,需要确保Reqnroll与MSTest的集成配置正确,具体操作步骤如下:
安装Reqnroll MSTest适配器包
在NuGet包管理器中安装Reqnroll.MSTest包,版本需与你使用的Reqnroll主包版本匹配。这个包负责将Reqnroll的功能文件转换为MSTest可识别的测试用例。检查功能文件属性
右键项目中的.feature文件,选择“属性”,将“生成操作”设置为嵌入式资源。这是Reqnroll识别和处理功能文件的必要条件。确认项目包引用
确保项目文件中包含以下核心包引用(版本根据你的实际情况调整):<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" /> <PackageReference Include="MSTest.TestAdapter" Version="3.6.4" /> <PackageReference Include="MSTest.TestFramework" Version="3.6.4" /> <PackageReference Include="Reqnroll" Version="与适配器兼容的版本" /> <PackageReference Include="Reqnroll.MSTest" Version="与Reqnroll主包匹配的版本" />清理并重建项目
执行“清理解决方案”后再“重建解决方案”,确保Reqnroll能正确生成对应的MSTest测试类(这类生成代码会放在obj目录下的Generated Files中,包含[TestClass]和[TestMethod]特性,用于关联你的步骤定义)。验证测试发现
重建完成后重新运行测试,此时功能文件对应的测试用例应该会出现在测试列表中,和你的MSTest单元测试一起执行。
注意:你编写的[Binding]类只是步骤实现的绑定,本身不是测试类,Reqnroll会自动生成对应的测试类来调用这些步骤,所以不需要手动给步骤定义类添加[TestClass]或[TestMethod]特性。
内容的提问来源于stack exchange,提问作者Enrico
相关产品推荐
相关产品推荐

