EF7'yi kullanarak ASP.NET 5 MVC6 Api için tümleştirme sınamalarını denemeye çalışıyorum. Önceden uygulanan Kimlik ile gelen varsayılan projeyi kullanıyorum. İşte tümleştirme sınaması ASP.NET 5 Kimlik
benim denetleyicisi sınıyor eylem im olan Ben BELLEK veritabanı oluşturmak ve sonra buna karşı entegrasyon testleri yapmak benim test projede[Authorize]
[HttpGet("api/children")]
public JsonResult GetAllChildren()
{
var children = _repository.GetAllChildren(User.GetUserId());
var childrenViewModel = Mapper.Map<List<ChildViewModel>>(children);
return Json(childrenViewModel);
}
(oturum açan kullanıcı için tüm çocukları alır) İşte
Ben entegrasyon için kullanmak Tabanpublic class IntegrationTestBase
{
public TestServer TestServer;
public IntegrationTestBase()
{
TestServer = new TestServer(TestServer.CreateBuilder().UseStartup<TestStartup>());
}
}
testleri Ve burada ben SQLServer ekler yöntemini geçersiz nerede (TestStartup olduğunu BELLEK testi veritabanı ekler biri)
public class TestStartup : Startup
{
public TestStartup(IHostingEnvironment env) : base(env)
{
}
public override void AddSqlServer(IServiceCollection services)
{
services.AddEntityFramework()
.AddInMemoryDatabase()
.AddDbContext<ApplicationDbContext>(options => {
options.UseInMemoryDatabase();
});
}
}
Ve eylem için test ile
public class ChildTests : IntegrationTestBase
{
[Fact]
public async Task GetAllChildren_Test()
{
//TODO Set Current Principal??
var result = await TestServer.CreateClient().GetAsync("/api/children");
result.IsSuccessStatusCode.Should().BeTrue();
var body = await result.Content.ReadAsStringAsync();
body.Should().NotBeNull();
//TODO more asserts
}
}
herkes potansiyel CurrentPrincipal veya almak için başka bir yolu nasıl ayarlanacağı ile ilgili doğru yönde işaret edebilir uyum testleri benim çalışıyor mu?
mü problemini çözdün mü? –