Почему я не могу использовать метод модульного теста, определенный в этом классе модульного теста?

1

Я новичок в С#, и у меня есть следующая ситуация.

У меня есть класс 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

  • 3
    Должен ли тестовый класс быть public (а не internal , видимость по умолчанию)? Похоже, что это MSTest, а не NUnit. Если это так, пожалуйста, настройте теги.
  • 1
    Патрик, держу пари, что это так. Запишите это как ответ
Показать ещё 2 комментария
Теги:
mstest
unit-testing
testing

1 ответ

4
Лучший ответ

Сделать класс тестирования public. Не указывая видимость означает, что ваш тестовый класс является internal, что Visual Studio не может видеть.

  • 0
    +1 Если это предположение, то оно очень хорошее. Это определенно так.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню