Я пытаюсь использовать MSTest для выполнения модульных тестов на собственном коде C ++ (чтобы попытаться реализовать Test Driven Development).
В мастере C ++ «Добавить новый проект» есть запись MSTest. Это создает некоторый код, очевидно, в C +++ / CLI.
Однако всякий раз, когда я пытаюсь запустить эти тесты, Visual Studio указывает мне, что эти тесты не работают:
Not Runnable TestMethod2 CargoOCRTests UTA007: Method TestMethod2 defined in class CargoOCRTests.UnitTest1 does not have correct signature. Test method marked with the [TestMethod] attribute must be non-static, public, does not return a value and should not take any parameter. for example: public void Test.Class1.Test().
Однако я думаю, что мои две функции тестирования действительно уважают прототип VS, на который жалуются:
namespace CargoOCRTests
{
[TestClass]
public ref class UnitTest1
{
[TestMethod]
void TestMethod1()
{
Assert::IsTrue(true);
};
[TestMethod]
void TestMethod2()
{
Assert::IsTrue(false);
};
};
}
Ты хоть представляешь, в чем причина?
Вы должны пометить свои методы испытаний как public
public:
[TestMethod]
void TestMethod1() {}
Других решений пока нет …