Я работаю над базой кода, в которой нет никаких модульных тестов, и пытаюсь добавить к ней несколько модульных тестов. Код VB.NET, но не очень объектно-ориентированный. Мы используем NUnit для модульного тестирования. Многие классы имеют общие / статические методы.
Я пытаюсь выполнить модульное тестирование метода, который вызывает другие методы, использующие уровень доступа к данным. Мой код выглядит примерно так:
Public Class FooBar
Private CONN_STRING As String = "<Connection String Goes Here>"
Public Shared Function DoSomething(obj As Object) As Object
'This is the method I want to unit test.
'...
Dim myLog As New Log
myLog.Message = "Foobar"
LogTable.InsertLog(CONN_STRING, myLog)
Return someObject
End Function
End Class
Public Class LogTable
Public Shared Function InsertLog(connectionString As String, log As Log) As Integer
Dim db As New DBTable(connectionString, "tblLog")
Return db.Insert(log)
End Function
End Class
Так что теперь я столкнулся с проблемой выяснения, как проверить эти методы. У нас МНОЖЕСТВО таких методов, как DoSomething, и все они выполняют статические вызовы классов уровня доступа к данным, передавая строку подключения.
Что я могу сделать в этой ситуации, чтобы избежать реального вызова в БД?