mockの使用方法について
解決したいこと
VB.netでWindowsフォームアプリケーションのユニットテスト内で、Moqライブラリを使いたいのですがうまく行きません。
引数でモックオブジェクトを渡すような方法は理解したのですが、テスト対象メソッドに引数がない場合どうしたら良いのでしょうか。
以下コードは質問用に作業中のコードを書き換えたものになっているため、意味のない継承やクラス定義が行われていますが、この条件のもとユニットテストを組みたいです。
また、ユニットテスト以外のコードは変更不可の状態です。
環境
.NETFramework 4.6.1
VisualStudioProfessional 2022
該当するソースコード
Public Class Testtargetclass
Inherits Mockclass0
Dim value As String
Friend Overrides Sub testtarget(ByRef value As String)
Dim A As String
value = mocktarget(A)
End Sub
End Class
Public MustInherit Class Mockclass
Friend Overridable Function mocktarget(A As String) As String
A = “A”
Return A
End Function
End Class
Public MustInherit Class Mockclass0
Inherits Mockclass
Friend Overridable Sub testtarget(ByRef value As String)
'何らかの処理
End Sub
End Class
'以下テストクラス
<TestClass> Public Class Tclass
Dim Testtargetclass As Testtargetclass = New Testtargetclass
Dim mock As New Mock(Of Mockclass)
Dim value As String
<TestMethod>
‘ここでmocktargetメソッドがBを返すようなmockを作成し、testtargetメソッドを実行すると、valueがBになるようなコードがかきたい
End Sub
End Class