Проблема с настройкой VS2019 Community для модульного тестирования DLL - PullRequest
0 голосов
/ 22 марта 2020

Я использую vs 2019 Community и создал проект библиотеки классов (. NET Framework) с именем TestDLL.

Проект содержит один файл "TestDLL.cs", который имеет TestDLL в качестве пространства имен, класс publi c с именем MyDll и один метод

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace TestDLL 
{ 
    public class MyDLL 
    { 
        static bool Opposite(bool input) 
        { 
            return !input; 
        } 
    }
}

К решению, которое я добавил Проект модульного теста (. NET Framework) с именем UnitTest, добавил TinyLib_dll.dll в качестве ссылки и создал очень простой тест.

using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace UnitTest
{
    [TestClass]
    public class UnitTest1
    {
        [TestMethod]
        public void TestMethod1()
        {
            bool start = true;
            bool result = MyDLL.Opposite(start);
            Assert.AreNotEqual(start, result, "MyDll.Opposite failed");
        }
    }
}

Когда я пытаюсь запустить тест, файл dll успешно компилируется , но UnitTest завершается с ошибкой «Ошибка CS0103 Имя« MyDLL »не существует в текущем контексте UnitTest».

Похоже, что хотя я ссылался на dll в качестве ссылки, он не загружается в тестовый проект. Кто-нибудь может мне помочь?

Ответы [ 2 ]

0 голосов
/ 23 марта 2020

В спешке, чтобы решить мою проблему, я представил примеры кода с простыми ошибками компиляции. Исправление этих ошибок решило мою заявленную проблему. Однако у меня теперь есть новая проблема с тем же проектом, но для ясности я отправлю новый вопрос. Я благодарю Нкоси за помощь.

0 голосов
/ 22 марта 2020

Похоже, вам не хватает пространства имен TestDLL в тесте, чтобы тест мог распознать предметный класс

, либо добавьте пространство имен с использованием

using TestDLL;

//...

, либо используйте полное название типа

//...

bool result = TestDLL.MyDLL.Opposite(start);

//...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...