Модульный тест Visual Studio 2010

Я хочу протестировать несколько функций в моем исходном коде с помощью модульных тестов. Теперь, если я проведу свой тест, я не получу никаких результатов теста.

Вот простой фрагмент кода, который я пытаюсь сделать:

#include <iostream>

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

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

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

Кто-нибудь знает, почему это не работает?

1 ответ

Проблема в том, что вы не выполняете модульные тесты правильно. Вы должны полагаться на то, что вы не получаете подтверждения, а не на печать на консоль.

Идея состоит в том, чтобы проверить методы и убедиться, что они возвращают правильное значение.

Смотрите следующие ссылки для более подробной информации:

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);
}
Другие вопросы по тегам