import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
import static org.hamcrest.Matchers.*;
import org.junit.jupiter.api.Test;
import org.mockito.InjectMocks;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
import org.springframework.test.web.servlet.MockMvc;
@WebMvcTest(AccountQueryController.class) // Replace with your actual controller class
public class AccountQueryControllerTest {
@Autowired
private MockMvc mockMvc;
@InjectMocks
AccountQueryController accountQueryController;
@Test
public void searchByOrgAndGroupAndName_ShouldReturnAccounts() throws Exception {
String query = "testQuery";
mockMvc.perform(get("/byorgandgroupandname")
.param("query", query))
.andExpect(status().isOk())
.andExpect(jsonPath("$", hasSize(greaterThan(0)))) // Assumes it returns a list
.andExpect(jsonPath("$[0].name", is("SampleName"))); // Replace with expected field
}
}
Ошибка ниже: Вызвано: org.springframework.beans.factory.NoSuchBeanDefinitionException: нет квалифицирующего компонента типа 'org. Springframework.data.repository.support.Repositories доступны: ожидается как минимум 1 bean-компонент, который квалифицируется как кандидат на автоматическое подключение. Аннотации зависимостей: {}
@SpringBootTest @TestConfiguration public class MongoTestConfig { static MongoDBContainer mongoDBContainer = new MongoDBContainer("mongo:4.4.2") .withExposedPorts(27017) .waitingFor(Wait.forListeningPort());
static { mongoDBContainer.start(); }
// Method to get the MongoDB connection URL with a specified database name private String getMongoUrl(String dbName) { return String.format("mongodb://%s:%d/%s", mongoDBContainer.getContainerIpAddress(), mongoDBContainer.getMappedPort(27017), dbName); }
@Bean @Primary public MongoTemplate mongoTemplate() { String databaseName = "test"; // Replace with your desired database name String mongoUrl = getMongoUrl(databaseName); System.out.println("Connecting to MongoDB at: " + mongoUrl); // Log the connection URL return new MongoTemplate(new SimpleMongoClientDbFactory(mongoUrl)); }
@Bean @Primary public MongoClient mongoClient() { String mongoUrl = getMongoUrl("test"); // Same database name System.out.println("Creating MongoClient for: " + mongoUrl); return MongoClients.create(mongoUrl); }
@Bean public GridFsOperations gridFsOperations(MongoTemplate mongoTemplate) { return new GridFsTemplate(mongoTemplate.getMongoDbFactory(), mongoTemplate.getConverter()); }
mockMvc.perform(get("/byorgandgroupandname") .param("query", query)) .andExpect(status().isOk()) .andExpect(jsonPath("$", hasSize(greaterThan(0)))) // Assumes it returns a list .andExpect(jsonPath("$[0].name", is("SampleName"))); // Replace with expected field } } [/code] Ошибка ниже: [b]Вызвано: org.springframework.beans.factory.NoSuchBeanDefinitionException: нет квалифицирующего компонента типа 'org. Springframework.data.repository.support.Repositories доступны: ожидается как минимум 1 bean-компонент, который квалифицируется как кандидат на автоматическое подключение. Аннотации зависимостей: {}[/b]
Я столкнулся с проблемой при запуске интеграционных тестов в приложении Spring Boot с использованием JUnit 5 и Testcontainers. Несмотря на соблюдение рекомендаций по настройке, мои тесты не запускаются из-за исключения создания компонента,...
Я работаю над проектом .NET, в котором хочу интегрировать WebApplicationFactory с Testcontainers, чтобы использовать PostgreSQL для своих тестов SpecFlow. Я столкнулся с некоторыми проблемами, гарантируя, что контейнер PostgreSQL будет запущен и...
У меня следующий тест, в котором я использую Restassured для вызова одной из моих конечных точек в приложении Quarkus. Конечная точка вызывает внешнюю службу (вне моего приложения Quarkus), которая возвращает ответ, необходимый для завершения...
У меня следующий тест, в котором я использую Restassured для вызова одной из моих конечных точек в приложении Quarkus. Конечная точка вызывает внешнюю службу (вне моего приложения Quarkus), которая возвращает ответ, необходимый для завершения...