我正在尝试禁用真正的 Mongo 连接并在测试中用 Fongo 模拟替换它。
这是我的测试课:
@SpringBootTest
@RunWith(SpringRunner.class)
public class ControllerTest {
@Autowired
private WebApplicationContext wac;
@Autowired
private ObjectMapper objectMapper;
@MockBean
private MyService service;
private MockMvc mockMvc;
@Before
public void setup() {
this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build();
}
@Test
public void performTest() throws Exception {
... logic ...
}
}
Run Code Online (Sandbox Code Playgroud)
除非我尝试添加更改此行的配置文件,否则它工作正常:
@SpringBootTest
Run Code Online (Sandbox Code Playgroud)
对此:
@SpringBootTest(classes = TestConfig.class)
Run Code Online (Sandbox Code Playgroud)
配置类本身:
@Configuration
@ComponentScan
@EnableMongoRepositories
public class TestConfig extends AbstractMongoConfiguration {
@Override
protected String getDatabaseName() {
return "FongoDB";
}
@Override
public Mongo mongo() {
return new Fongo(getDatabaseName()).getMongo(); …Run Code Online (Sandbox Code Playgroud)