Мне нужно написать тест, где-в-о, поведение класса может быть проверено для разных типов поведения Вымытый класс. Чтобы поддерживать несколько способов поведения для одного и того же метода, нам нужно время от времени издеваться над классом в том же TestClass.JMockIt: Возможно ли издеваться над тем же классом дважды, в том же TestClass, чтобы проверить поведение в разных сценариях.
Возможно ли использование JMockIt?
Вот пример того, что я хочу. Это основной класс для тестирования и его тест:
public class MyClass {
private Foo fooObj = null;
public setfooObj(Foo obj) {
fooObj = obj;
}
public boolean process() {
// uses fooObj.getName() to process
}
}
public class MyClassTest {
@MockClass(realClass = mypackage.Foo.class)
public static class MockFoo {
@Mock
public static boolean getName() {
return "test";
}
}
@Test
public void validateProcessing() {
MyClass testObj = new MyClass();
assertEquals(false, testObj.process);
}
}
Теперь я хочу, чтобы проверить поведение testObj.process()
метода,, когда MockFoo.getName()
возвращает разные значения. Для моего первого утверждения я хочу использовать его значение как «test» (как возвращено функцией mocked), но для следующих, я хочу проверить разные значения.
Не ясно. Возможно. Но я не знаю, чего ты хочешь. – nnhthuan
Вот пример того, что я хочу. Это основной класс для тестирования. 'public class MyClass { \t частный Foo fooObj = null; \t общественный setfooObj (Foo obj) { \t fooObj = obj; \t} \t общественного логический процесс() { \t \t // использует fooObj.getName() для обработки \t}} испытаний Класс: общественного класса MyClassTest { \t MockClass (realClass = package.Foo.class) \t общественный статический класс MockFoo { \t \t Mock \t \t общественности статической булевых GetName() { \t \t \t возвращение "контрольная работа"; \t \t}} \t \t Тест \t общественного недействительного validateProcessing() { \t \t МойКласс testObj = новый MyClass(); \t \t assertEquals (false, testObj.обработать); } } ' – neha1395049
@nnhthuan: См. Приведенный выше код. Теперь я хочу проверить поведение метода testObj.process(), когда MockFoo.getName() возвращает разные значения. Для моего первого утверждения я хочу использовать его значение как «тест» (возвращаемое функцией mocked), но для следующих, я хочу проверить разные значения. Пожалуйста, предложите. Благодаря! – neha1395049