Mockito Rest端点测试-将列表与引号进行比较



尽管我的测试应该是完整的并且是绿色的。这是一个非常小的问题,我需要帮助。

@ContextConfiguration(locations = { "classpath:integrator-rest.xml" })
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
public class ProjectBuilderControllerTest {
@Mock
private ProjectBuilderController projectBuilderControllerMock;
@Autowired
private WebApplicationContext webApplicationContext;
private MockMvc mockMvc;
/**
 * @throws java.lang.Exception
 */
@Before
public void setUp() throws Exception {
    mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build();
    MockitoAnnotations.initMocks(this);
    }
@Test
public void loadDependencyListMockTest() throws Exception {
    ArrayList<String> result = new ArrayList<String>();
    result.add("spring-core-3.0.1");
    result.add("spring-webmvc-4.2.1");
    result.add("spring-test-4.0.1");
    result.add("junit-4.1");
    mockMvc.perform(get("/projectbuilder/dependencyList")).andExpect(status().isOk());
    mockMvc.perform(get("/projectbuilder/dependencyList").accept(MediaType.APPLICATION_JSON_UTF8))
                        .andExpect(status().isOk())
                        .andExpect(jsonPath("$", Matchers.hasSize(5)))
                        .andExpect(jsonPath("$", Matchers.equalTo((result))));
}
/**
 * @throws java.lang.Exception
 */
@After
public void tearDown() throws Exception {
    mockMvc = null;
}
}

我只是想添加/删除以便测试通过。这是指向xml文件的链接,我从该文件加载依赖项列表并返回列表。

基本上,loadDependencyList()方法从XML文件加载依赖项列表并返回依赖项列表,我只是测试返回的列表是否一致。

现在考试通过了!问题是退货顺序不正确

答案是Mockito不在乎列表中的字符串元素是否在引号中,它无论如何都会对其进行比较,然后测试通过。你比较的顺序会有所不同。因此,如果你认为你的问题是引用/不引用,你就有了另一个问题。

我在等

<["junit","jax-rs","spring-mvc","spring-context"]> 

如果它返回

<[junit,jax-rs,spring-mvc,spring-context]>

考试应该通过。记住,顺序很重要。

相关内容

  • 没有找到相关文章

最新更新