2016-11-24 4 views
-1

Я тестирую метод, который отображает значения от объекта к другому. Однако, когда он приходит к nullables, точнее bool? каждый раз, когда функция возвращает логическое значение, становится нулевым.Поддерживает ли NUnit Nullables?

Пример:

я хочу, чтобы проверить этот метод:

public Family CreateFamily(Family a, Father b) 
{ 
    // some property mapping here 
    IsEnable = true; // where IsEnable is a nullable boolean 
} 

Теперь этот метод используется так:

family x = CreateFamily(para1,para2); 


//the unit test is: 
x.IsEnable.Should.BeTrue(); // but null was returned 

, но когда я не использовал NUnit TestRunner условие met

+2

Вы не дали нам достаточно информации здесь. Пожалуйста, предоставьте [mcve], чтобы мы могли точно показать, что вы делаете. –

+0

@JonSkeet Я хочу, чтобы блок тестировал метод, который отображает несколько типов с нулевым значением –

+0

@DanWilson спасибо .. Я думал, что, возможно, это был вопрос ... –

ответ

1

Я верю, что вы должны спрашивать, если Shouldly assertion framework обрабатывает Nullables, поскольку это похоже на то, что вы используете для утверждений. Я предполагаю, что это не так.

Вы спрашивали про NUnit. Последняя версия NUnit поддерживает некоторые значения NULL. Например, все следующие испытания проходят в NUnit 3.5,

[Test] 
public void TestNullableBooleanTrue() 
{ 
    bool? b = true; 
    Assert.That(b, Is.True); 
} 

[Test] 
public void TestNullableBooleanFalse() 
{ 
    bool? b = false; 
    Assert.That(b, Is.False); 
} 

[Test] 
public void TestNullableBooleanNull() 
{ 
    bool? b = null; 
    Assert.That(b, Is.Null); 
}