忽略本机VC++项目中的单元测试

CHe*_*rix 6 unit-testing visual-c++ vs-unit-testing-framework

如何TEST_IGNORE()在Visual Studio 2015中的本机VC++单元测试项目中使用宏?我习惯[Ignore]在C#中使用,但我显然在VC++中遗漏了一些东西.

这是我尝试过的,但TEST_IGNORE()宏扩展为无效代码(许多"意外令牌"和"语法错误:'{'"错误......)

TEST_CLASS(MyTests)
{
   public:
   TEST_IGNORE()
   TEST_METHOD(TestSomething)
   {
     /*Test code is here*/
   }
};
Run Code Online (Sandbox Code Playgroud)

CHe*_*rix 8

弄清楚了.你必须将TEST_IGNORE()宏夹在中间BEGIN_TEST_METHOD_ATTRIBUTE(testName)和之间END_TEST_METHOD_ATTRIBUTE()

所以上面的代码变成了

TEST_CLASS(MyTests)
{
   public:
   BEGIN_TEST_METHOD_ATTRIBUTE(TestSomething)
     TEST_IGNORE()
   END_TEST_METHOD_ATTRIBUTE()
   TEST_METHOD(TestSomething)
   {
     /*Test code is here*/
   }
};
Run Code Online (Sandbox Code Playgroud)

  • 幸运的是,这个相当大的属性块不必位于匹配的 TEST_METHOD 的前面,它可以出现在测试类中的任何位置。 (2认同)