Я новичок в С#, и у меня есть следующая ситуация.
У меня есть класс Unit Test с именем UnitTest1 в проекте с именем UnitTestProject.
В этом классе у меня есть следующий метод:
[TestMethod]
public void ConnectionMaliciousCodeManager()
{
DataModel.MaliciousCodeManager manager = new DataModel.MaliciousCodeManager("DefaultConnection");
try
{
manager.openConnection();
}
catch (Exception ex)
{
Debug.WriteLine("Exception: " + ex.Message);
}
finally
{
manager.closeConnection();
}
}
и он работает хорошо.
Теперь я занимаюсь рефакторингом, и я создал новый класс MaliciousUnitTest в своем проекте, и я хочу, чтобы предыдущий метод переместил этот новый класс, но теперь он не работает. Это мой весь код класса MaliciousUnitTest:
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System.Diagnostics;
using System.Collections.Generic;
namespace UnitTestProject
{
[TestClass]
class MaliciousUnitTest
{
[TestMethod]
public void ConnectionMaliciousCodeManager()
{
DataModel.MaliciousCodeManager manager = new DataModel.MaliciousCodeManager("DefaultConnection");
try
{
manager.openConnection();
}
catch (Exception ex)
{
Debug.WriteLine("Exception: " + ex.Message);
}
finally
{
manager.closeConnection();
}
}
}
}
У меня нет ошибок, но проблема в том, что когда я накладываю курсор мыши на свой метод ConnectionMaliciousCodeManager(), и если я попытаюсь сделать правый клик и щелкнув по Run Tests, ничего не произойдет.
Если я перейду в раздел Visual Studio Text Explorer, я не могу найти ConnectionMaliciousCodeManager().
Зачем? Что мне не хватает? Что мне делать, чтобы использовать методы тестирования, которые я определяю в своем новом классе MaliciousUnitTest?
Tnx
Сделать класс тестирования public
. Не указывая видимость означает, что ваш тестовый класс является internal
, что Visual Studio не может видеть.
public
(а неinternal
, видимость по умолчанию)? Похоже, что это MSTest, а не NUnit. Если это так, пожалуйста, настройте теги.