1
執行的問題。使用Moq進行有狀態和無狀態測試
我有一個Builder方法FooBuilder(),它調用很多東西來建立一個FooModel模型。
FooBuilder()具有相互依賴的某些方法,如調用BarBuilder的Tire(barBuilder),以及許多不像SteeringWheel那樣獨立於任何執行順序的方法。
實施例:
[Test]
public void then_should_build_steering_wheel_model()
{
// Arrange
var FooBuilder = new FooBuilder();
var itemKey = new ItemKey{Vendor = 10};
//Here's the setup of BarBuilder for other classes elsewhere
var BarBuilder = new Mock<IBarBuilder>();
BarBuilder.Setup(builder => builder.BuildUpBarMaster(itemKey.Vendor)).Returns(BarModel);
// Act
FooBuilder.CreateSteeringWheelModel(itemKey.vendor);
// Assert
FooBuilder.Verify(builder => builder.BuildUpSteeringWheelModel(itemKey.vendor));
是否有任何的方式來建立測試爲一個片是無狀態(的SteeringWheels)而不做設置有狀態份(BarBuilder)的方法的?