在我们的测试中,我们有一些模拟对象,它们的行为略有不同。能够使用新的默认行为覆盖默认行为会很好,因此我们只需要在每个测试的基础上定义明确不同的行为。我们目前正在使用单元,但我们正在寻找任何java模拟框架中的问题的解决方案。
问题说明(使用单位):
Mock<MyClass> myMock1 = new MockObject<>(MyClass.class,myTestedObject);
myMock1.returns(1).getAnInteger();
myMock1.returns("Hello").getAString();
myMock1.returns(true).getABoolean();
myMock1.returns(3.14).getADouble();
Mock<MyClass> myMock2 = new MockObject<>(MyClass.class,myTestedObject);
myMock2.returns(2).getAnInteger();
myMock2.returns("Hello").getAString();
myMock2.returns(false).getABoolean();
myMock2.returns(3.14).getADouble();
我们正在寻找的东西可能是这样的:
MockObjectFactory<MyClass> myMockObjectFactory = new MockObjectFactory<>(MyClass.class);
myMockObjectFactory.defaultReturns(1).getAnInteger();
myMockObjectFactory.defaultReturns("Hello").getAString();
myMockObjectFactory.defaultReturns(false).getABoolean();
myMockObjectFactory.defaultReturns(3.14).getADouble();
Mock<MyClass> myMock1 = myMockObjectFactory.createMockObject(myTestedObject);
myMock1.returns(true).getABoolean();
Mock<MyClass> myMock2 = myMockObjectFactory.createMockObject(myTestedObject);
myMock2.returns(2).getAnInteger();
您是否知道任何当前支持使用新默认行为覆盖默认行为的java模拟框架?