#c# #mspec #ncrunch
#c# #mspec #ncrunch
Вопрос:
Итак, у меня установлены эти пакеты nuget:
Кульминацией являются эти ссылки:
Я использую NCrunch. У меня есть эта спецификация:
namespace GlobPatternMatching.Tests
{
using FluentAssertions;
using Machine.Fakes;
using Machine.Specifications;
[Subject(typeof(GlobMatching))]
public class When_Given_Literal : WithSubject<GlobMatching>
{
private static string pattern = "path";
private static string[] resu<
private Establish context => () =>
{
pattern = "path";
};
private Because of => () => result = Subject.GetGlobs(pattern);
private It should_return_path_in_the_array = () =>
{
result[0].Should().Be("path");
};
}
}
Для этого класса:
namespace GlobPatternMatching
{
using System;
public class GlobMatching
{
public string[] GetGlobs(string pattern)
{
return pattern.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries);
}
}
}
Сразу после TDD я получаю исключение с нулевой ссылкой. При отладке я не могу выполнить пошаговый метод, и все поля класса спецификации имеют значение null…..
Я не чувствую, что я что-то упускаю, но если вы не возражаете взглянуть и выяснить, что я здесь сделал не так, это было бы хорошо. Я использую последнюю версию VS2015, NCrunch и т. Д…
Ответ №1:
Вы не поверите, в чем проблема…
private Establish context => () =>
{
pattern = "path";
};
private Because of => () => result = Subject.GetGlobs(pattern);
Я поставил =>
вместо =
….
// ----------------------/-------
private Establish context = () =>
{
pattern = "path";
};
// ----------------/------------
private Because of = () => result = Subject.GetGlobs(pattern);