我正在尝试使用 Gallio 和 MbUnit(版本 3.2.750)。
根据教程(http://gallio.org/wiki/doku.php?id=getting_started:my_first_tests),我创建了一个新的类项目,引用了我想测试的另一个项目(另一个类库),写了一些测试,然后运行它们。
我的每一个测试都非常非常简单。而且我测试的方法也很简单。
这是一个例子。测试功能:
Public Shared Function IsBool(ByVal data As Object) As Boolean
Dim retour As Boolean = True
Try
If data.ToString IsNot Nothing Then
If data.ToString = "1" Or data.ToString = "0" Then
retour = True
Else
Boolean.Parse(data.ToString)
End If
End If
Catch ex As Exception
retour = False
End Try
Return retour
End Function
和测试:
<Test()> _
Public Sub IsBool_trueString()
Dim result As Boolean = IsBool("true")
Assert.AreEqual(True, result)
End Sub
和错误:
System.TypeInitializationException: Une exception a été levée par l'initialiseur de type pour 'CMS.Utility'. ---> System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.
à CMS.Utility..cctor() dans C:\...\Utility.vb:ligne 12
--- End of inner exception stack trace ---
TypeName: CMS.Utility
à CMS.Utility.IsBool(Object data)
à KoamaOPTests.CMS.Tests.Utility.IsBool_trueString() dans C:\...\Tests\Utility.vb:ligne 34
我意识到共享方法不应该有这样的例外,这就是为什么它让我非常非常困惑。
谢谢