java junit数据库模拟,使用Mockito / JUnit-Database操作进行Java应用程序的单元测试
I am just beginner for implementing JUnit testing. I have a test case as given below. I have tried the when...thenreturn + verify method as well.@RunWith(MockitoJUnitRunner.class)public class Category
I am just beginner for implementing JUnit testing. I have a test case as given below. I have tried the when...thenreturn + verify method as well.
@RunWith(MockitoJUnitRunner.class)
public class CategoryControllerTest {
@InjectMocks
CategoryController categeoryCntrlr;
@Mock
private CategoryService catSvc;
//private CategoryController catCntrl;
@Test
public void insertCategoryTest(){
Category cat=new Category();
cat.setStrCatName("Vehicle");
String str = categeoryCntrlr.insertCategory(cat);
System.out.println(str);
assertEquals("failure",str);
}
}
My Controller returns actually string 'success' but my above test case always says value of str as null.
When I used when...thenreturn() and verify, it is not actually testing my repository method, even if I change the return to something else the test case is passing. I know there is behavioral and testing. Is there any solution we can have both together? Can I get some beginners tutorial(I saw the calculator example and find methods tested, but no insert/update database)? I am not able to understand the reference document of Mockito, how it actually testing. Can anyone help me please ?
解决方案
I'm not 100% sure what your goals are for insertCategoryTest(), but you probably want to stub methods in your controller and/or service.
For example, to stub the insertCategory() method in your controller to always return "failure", you'd do the following:
when(categeoryCntrlr.insertCategory(any())).thenReturn("failure");
There are more examples about verifying interactions and stubbing method calls here: http://mockito.org
Link to Javadoc:
更多推荐
所有评论(0)