我最近在 VS2008 中运行单元测试与在命令行上使用 mstest 运行相同的单元测试时遇到了一些不一致。
我的场景有点先进,所以我可能遇到了一些问题。我有许多针对同一个数据源运行的数据驱动单元测试。我也喜欢尝试使用 PostSharp。所以,我写了一个 PostSharp 方面——TestDataSource
我将其应用于单元测试类型,而不是单元测试方法。构建类型时,此方面指示 PostSharp 将DataSource
属性附加到类型中的每个单元测试方法。
检查 Reflector 中构建的程序集表明,每个测试方法确实具有正确的DataSource
属性。在命令行上使用 mstest 运行测试的行为与预期一样 - 每个测试都针对指定的数据源运行。
但是,在 VS2008 中运行完全相同的单元测试无法找到数据源。就好像 VS2008 忽略了构建的程序集并查看源代码,这当然看起来不是数据驱动的测试,因为该DataSource
属性是在构建过程中注入的。
部署的项目没有问题。手动附加DataSource
到测试使 VS2008 可以愉快地运行它们。
有任何想法吗?