Сбой теста: Аргумент (ы) разные! В розыске: - PullRequest
0 голосов
/ 08 мая 2018

Я учусь JUnit и mockito. Я пытаюсь написать тестовый пример для поискового фильтра из класса Account account. Но я получаю Argument(s) are different! Wanted: сбой. кто-нибудь может сказать мне, что я делаю неправильно в тестовом случае?

@RestController
@RequestMapping("/api.spacestudy.com/SpaceStudy/Admin")
public class AccountController {

    @Autowired
    AccountService accService;

    @GetMapping("/Account/findAccountData")
    public ResponseEntity<List<Tuple>> btnSearchClick(String sClientAcctId, String sAcctDesc, String sInvestigatorName,
            String sClientDeptId) throws Exception {
        return  ResponseEntity.ok(accService.btnSearchClick("1124100", sAcctDesc,sInvestigatorName,sClientDeptId));
}
}

Контрольный пример

@RunWith(SpringRunner.class)
public class AccountControllerTest {

    private MockMvc mockMvc;

    @Mock
    private AccountService accountService;

    @InjectMocks
    private AccountController accountController;

    @Before
    public void setup() {
        mockMvc = MockMvcBuilders.standaloneSetup(accountController).build();
    }

    @Test
    public void btnSearchClickTest() throws Exception {

        String sClientAcctId = "1124100";
        String sAcctDesc = "SRIRAM";
        String sInvestigatorName = "Ram, Sri";
        String sClientDeptId = "120010";

        Tuple mockedTuple = Mockito.mock(Tuple.class);

        List<Tuple> accountObj = new ArrayList<>();
        accountObj.add(mockedTuple);

        Mockito.when(accountService.btnSearchClick(sClientAcctId, sAcctDesc, sInvestigatorName, sClientDeptId))
                .thenReturn(accountObj);

        mockMvc.perform(
                get("/api.spacestudy.com/SpaceStudy/Admin/Account/findAccountData").accept(MediaType.APPLICATION_JSON))
                .andExpect(status().isOk());


        Mockito.verify(accountService).btnSearchClick(sClientAcctId, sAcctDesc, sInvestigatorName, sClientDeptId);

    }
}

Трассировка стека

Argument(s) are different! Wanted:
accountService.btnSearchClick(
    "1124100",
    "SRIRAM",
    "Ram, Sri",
    "120010"
);
-> at com.spacestudy.controller.AccountControllerTest.btnSearchClickTest(AccountControllerTest.java:110)
Actual invocation has different arguments:
accountService.btnSearchClick(
    null,
    null,
    null,
    null
);
-> at com.spacestudy.controller.AccountController.btnSearchClick(AccountController.java:36)
...