Возвращенное значение метода подтверждено, но MsTest все еще успешно - PullRequest
0 голосов
/ 17 сентября 2018

У меня есть метод, который возвращает объект модели и не имеет конструкторов.В трех тестовых случаях выбрасывается HttpRequestException.Они все еще проходят при утверждении объекта модели, почему это так?

Я ожидаю, что утверждение объекта потерпит неудачу, так как он равен нулю, или тест не пройден, так как утверждение никогда не выполняется (исключение выдается).

using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace SolutionTest
{
    [TestClass]
    public class UnitTest1
    {
        [DataTestMethod]
        [DataRow("Hello")]
        [DataRow("bad")]
        [DataRow("badcausing")]
        [DataRow("badcausingexception")]
        [DataRow("Goodbye")]
        public void method(string s)
        {
            string st = methodTested(s);
            System.Diagnostics.Debug.WriteLine(st);
            Assert.IsTrue(st != null);
        }
        public string methodTested(string s)
        {
            if (s == "bad" || s == "badcausing" || s == "badcausingexception")
            {
                System.Diagnostics.Debug.WriteLine("hey");
                throw new Exception();
            }
            return s;
        }
    }
}

enter image description here

Когда я загружал это изображение, я думаю, что пропустил красный в "SolutionTest".Запуск без исключений дает мне это.Поэтому я предполагаю, что половина красного означает, что исключения были выброшены.

enter image description here

Я искал не в том месте.Ниже View> Test выбран в настройках.Я открыл View> Pads> Unit Tests и только смотрел на это.Это на Visual Studio для Mac 2017

enter image description here

...