Junior — Middle
Կա՞ ձեր փորձը ծրագրային համակարգերի ինտեգրացիոն թեստեր ստեղծելու և իրականացնելու համար։
sobes.tech AI
Պատասխան AI-ից
Այո, ես ունեմ փորձ C#-ում ինտեգրացիոն թեստեր ստեղծելու և իրականացնելու ոլորտում: Հաճախ օգտագործում եմ NUnit կամ xUnit պլատֆորմները, ինչպես նաև mocking գրադարաններ (օրինակ, Moq) և գործիքներ թեստային միջավայրի կազմավորման համար (օրինակ, Docker կամ ներքին թեստային սերվերներ):
Ինտեգրացիոն թեստերը ստուգում են համակարգի մի քանի բաղադրիչների փոխազդեցությունը, օրինակ՝ վերահսկիչի աշխատանքը տվյալների բազայի և ծառայությունների հետ: Ահա պարզ օրինակ xUnit և Entity Framework Core InMemory օգտագործելով՝
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);
}
}
Այս թեստը ստուգում է, արդյոք ծառայությունը ճիշտ փոխազդում է տվյալների բազայի հետ, ինչը անցնում է միավորային թեստերի սահմանները և մոտենում իրական ծրագրի աշխատանքին։