Junior — Middle
Van tapasztalata az integrációs tesztek létrehozásában és végrehajtásában szoftver rendszerekhez?
sobes.tech MI
Válasz az MI-től
Igen, van tapasztalatom az integrációs tesztek létrehozásában és végrehajtásában C#-ban. Általában olyan keretrendszereket használok, mint az NUnit vagy az xUnit, valamint mocking könyvtárakat (például Moq) és eszközöket a tesztkörnyezet felállításához (például Docker vagy beépített tesztszerverek).
Az integrációs tesztek több rendszerkomponens közötti kölcsönhatást ellenőriznek, például a vezérlő működését az adatbázissal és a szolgáltatásokkal. Itt van egy egyszerű példa egy integrációs tesztre az xUnit és az Entity Framework Core InMemory használatával:
public class UserServiceIntegrationTests
{
private readonly UserService _userService;
private readonly DbContextOptions<AppDbContext> _options;
public UserServiceIntegrationTests()
{
_options = new DbContextOptionsBuilder<AppDbContext>()
.UseInMemoryDatabase(databaseName: "TestDb")
.Options;
var context = new AppDbContext(_options);
_userService = new UserService(context);
}
[Fact]
public void AddUser_ShouldAddUserToDatabase()
{
var user = new User { Id = 1, Name = "Test User" };
_userService.AddUser(user);
using var context = new AppDbContext(_options);
var addedUser = context.Users.Find(1);
Assert.NotNull(addedUser);
Assert.Equal("Test User", addedUser.Name);
}
}
Ez a teszt ellenőrzi, hogy a szolgáltatás helyesen működik-e az adatbázissal, ami túlmutat az egységteszteken, és közelebb áll a valódi alkalmazás működéséhez.