2

我想用单元测试在我的源代码中测试几个函数。现在,如果我运行测试,我不会得到任何测试结果。

这是我尝试做的一个简单的代码片段:

#include <iostream>

using namespace std;
namespace UnitTest
{
    [TestClass]
    public ref class UnitTestBlueSmart

        int main(){
        public:
        [TestMethod()]
        hello();
        }
}

void hello(){
 cout<<"Hello World!";
}

有谁知道为什么这不起作用?

4

1 回答 1

2

问题是您没有正确执行单元测试。您应该依靠不获取Asserts,而不是打印到控制台。

这个概念是检查方法并确保它们返回正确的值。

有关详细信息,请参阅以下链接:

http://whinery.wordpress.com/2012/07/21/native-c-unit-testing-with-ms-test/

http://msdn.microsoft.com/en-us/library/ms182532.aspx

具体使用您的代码,正确单元测试的示例是:

string hello()
{
 return "Hello World!";
}

并创建一个 TestMethod,如果值不正确,它将断言。例如:

[TestMethod]
void HelloTest()
{
    string expected = "Hello World";
    string result = hello();
    Microsoft::VisualStudio::TestTools::UnitTesting::Assert::AreEqual(expected, result);
}
于 2012-10-28T15:31:25.550 回答