Czy istnieje sposób na stwierdzenie, czy zmienna jest określonego typu?Typy wstępne .NET
Takich jak:
AssertIsBoolean(variable);
Czy istnieje sposób na stwierdzenie, czy zmienna jest określonego typu?Typy wstępne .NET
Takich jak:
AssertIsBoolean(variable);
Czy jesteś naprawdę próbuje twierdzić, że zmienna jest określonego rodzaju, lub że wartość zmiennej jest dana rodzaj?
Pierwsza nie powinna być częścią testu jednostkowego - jest częścią zadeklarowanego kodu. To tak, jak próbowanie testu jednostkowego, którego nie można nazwać metodą z niewłaściwymi typami argumentów.
Drugi można łatwo uzyskać z
Assert.IsTrue(value is bool);
(Zakładając value
jest zmienna typu object
lub interfejsem).
należy stwierdzić, że będzie testowania zgodności zamiast dokładnego typu . Jeśli chcesz sprawdzić, czy wartość jest dokładny typ, a nie podtyp, możesz użyć czegoś takiego:
Assert.AreEqual(typeof(ArgumentException), ex.GetType());
(mogą istnieć opcji dostępnych metod generycznych w cokolwiek jednostka ramy testu użyć, oczywiście.)
Myślę, że masz na myśli 'ex.GetType()'. – SLaks
@SLaks: Naprawiono, dzięki. –
if(myValue is Boolean)
{
}
Assert.IsTrue(variable is bool, "variable was not a Boolean Value");
Nie określono, z której struktury testowania korzystasz. Więc chciałbym wspomnieć, że badanie ramy Gallio/MbUnit zapewnia wygodny twierdzenie dla tego samego celu:
Assert.IsInstanceOfType<bool>(myValue);
zmienna jest typu została zadeklarowana jako, spojrzeć wstecz kilka linie w kodzie źródłowym. Jeśli zobaczysz "obiekt", dopiero wtedy zacznij rozważać oferowane odpowiedzi. –