そもそもVBでのmock使用参考資料がなかなか見つからず困っています
C# なら質問者さんの目的に沿った資料がネットに公開されている記事にあるのでしょうか? そういう記事があれば、その記事の url を提示して、VB.NET で書き換える際に困っている点を説明することはできますか?
今の質問では具体性がなくて、エスパーでもない限りピンポイントに質問者さんが困っていることに答えられないと思いますので。
【追記】
元ソースを変更せずにモックを作成する方法があるのかと模索しています。
https://hitochan777.vercel.app/posts/1b015052/
その「元ソース」というのは、参考にしている記事の HelloWorld クラスのソースのことなのでしょうか?
そうだとすると、質問者さんのケースで可能かどうかわかりませんけど、DI を使ってのリポジトリパターンのように(下図参照。出典: ASP.NET MVC 実践プログラミング)、

NumberGenerator クラスが interface を継承していて、HelloWorld クラスのコンストラクタはその interface を引数に取るような形にできれば、HelloWorld クラスのソースは変更しないですむと思います。
その例を以下に書いておきます。
interface, NumberGenerator と継承クラス, HelloWorld
namespace WindowsFormsUnitTest
{
public interface INumberGenerator
{
int GetNumber();
}
public class NumberGenerator : INumberGenerator
{
private int Number { get; set; }
public NumberGenerator(int number)
{
Number = number;
}
public int GetNumber()
{
return Number;
}
}
public class NumberGenerator_Test : NumberGenerator
{
private int Number { get; set; }
public NumberGenerator_Test(int number) : base(number)
{
Number = number;
}
public virtual new int GetNumber()
{
return Number;
}
}
public class HelloWorld
{
private readonly INumberGenerator _klass;
public HelloWorld(INumberGenerator klass)
{
_klass = klass;
}
public int Run()
{
return _klass.GetNumber();
}
}
}
単体テストクラス
using Microsoft.VisualStudio.TestTools.UnitTesting;
using WindowsFormsUnitTest;
using Moq;
namespace WinForms_Test
{
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
INumberGenerator gen = new NumberGenerator(2);
var hellowWorld = new HelloWorld(gen);
Assert.AreEqual(2, hellowWorld.Run());
}
[TestMethod]
public void TestMethod2()
{
INumberGenerator gen = new NumberGenerator_Test(3);
var hellowWorld = new HelloWorld(gen);
Assert.AreEqual(3, hellowWorld.Run());
}
[TestMethod]
public void TestMethod3()
{
var mock = new Mock<NumberGenerator_Test>(MockBehavior.Strict, 4);
mock.Setup(klass => klass.GetNumber());
var hellowWorld = new HelloWorld(mock.Object);
Assert.AreEqual(4, hellowWorld.Run());
}
}
}
結果は:
