Autofixture: dotnet core 3.0 - Tidak dapat membuat instance dari Microsoft.AspNetCore.Mvc.ModelBinding.BindingInfo

Dibuat pada 26 Sep 2019  ·  6Komentar  ·  Sumber: AutoFixture/AutoFixture

Saat ini saya sedang dalam proses memutakhirkan proyek sederhana ke dotnet core 3. Proyek ini memiliki sejumlah pengujian unit, sebagian besar terhadap lapisan pengontrol/api menggunakan AutoFixture & xunit2.

Setelah pemutakhiran semuanya berfungsi KECUALI tes unit perbaikan otomatis yang mencoba membuat pengontrol. Mereka gagal dengan pengecualian berikut:

AutoFixture.ObjectCreationExceptionWithPath : AutoFixture tidak dapat membuat instance dari Microsoft.AspNetCore.Mvc.ModelBinding.BindingInfo karena pembuatan tiba-tiba gagal dengan pengecualian. Silakan merujuk ke pengecualian dalam untuk menyelidiki akar penyebab kegagalan.

Jalur permintaan:
*.Inventory.Api.Controllers.ProductCategoriesController controller* .Inventory.Api.Controllers.ProductCategoriesController
Microsoft.AspNetCore.Mvc.ControllerContext ControllerContext
Microsoft.AspNetCore.Mvc.ControllerContext
Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor ActionDescriptor
Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor
System.Collections.Generic.IList 1[Microsoft.AspNetCore.Mvc.Abstractions.ParameterDescriptor] Parameters System.Collections.Generic.IList 1[Microsoft.AspNetCore.Mvc.Abstractions.ParameterDescriptor]
System.Collections.Generic.List 1[Microsoft.AspNetCore.Mvc.Abstractions.ParameterDescriptor] System.Collections.Generic.IEnumerable 1[Microsoft.AspNetCore.Mvc.Abstractions.ParameterDescriptor] koleksi
System.Collections.Generic.IEnumerable`1[Microsoft.AspNetCore.Mvc.Abstractions.ParameterDescriptor]
Microsoft.AspNetCore.Mvc.Abstractions.ParameterDescriptor
Microsoft.AspNetCore.Mvc.ModelBinding.BindingInfo BindingInfo
Microsoft.AspNetCore.Mvc.ModelBinding.BindingInfo

Pesan pengecualian dalam:
System.Reflection.TargetInvocationException: Pengecualian telah dilontarkan oleh target pemanggilan.
System.ArgumentException: Jenis 'System.Object' harus mengimplementasikan 'Microsoft.AspNetCore.Mvc.ModelBinding.IModelBinder' untuk digunakan sebagai pengikat model. (Parameter 'nilai')

Komentar yang paling membantu

Saya tahu ini ditutup tetapi untuk orang lain yang mengalami ini yang _arent_ menggunakan Xunit solusi cepat (malas) yang harus dilakukan

Fixture.Customize<BindingInfo>(c => c.OmitAutoProperties()); -- Saya yakin ada cara untuk _juga_ memperbaiki bindingInfo jika Anda membutuhkannya tetapi jika tidak dalam pengujian Anda...

Semua 6 komentar

@TroyHouston Saya juga mengalami masalah ini. Saya telah memperbaikinya dengan menggunakan Atribut [Greedy] pada controller saya.

Saya menggunakan Nunit :)

@Fjsmoreira Terima kasih! Itu juga bekerja untuk saya :)

Saya tahu masalah ini sudah selesai, tetapi saya perlu bantuan untuk memahami dari mana Atribut [Serakah] berasal. @Fjsmoreira atau @TroyHouston , paket/perpustakaan apa yang perlu saya gunakan untuk mendapatkan Atribut [Serakah]?

Saya tahu masalah ini sudah selesai, tetapi saya perlu bantuan untuk memahami dari mana Atribut [Serakah] berasal. @Fjsmoreira atau @TroyHouston , paket/perpustakaan apa yang perlu saya gunakan untuk mendapatkan Atribut [Serakah]?

Sudahlah. Menemukannya! Sepertinya itu adalah bagian dari paket AutoFixture.Xunit .

Saya tahu ini ditutup tetapi untuk orang lain yang mengalami ini yang _arent_ menggunakan Xunit solusi cepat (malas) yang harus dilakukan

Fixture.Customize<BindingInfo>(c => c.OmitAutoProperties()); -- Saya yakin ada cara untuk _juga_ memperbaiki bindingInfo jika Anda membutuhkannya tetapi jika tidak dalam pengujian Anda...

Memecahkan masalah dengan OmitAutoProperties :
var controller = fixture.Build<SomeController>().OmitAutoProperties().Create() ;

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

Accc99 picture Accc99  ·  4Komentar

mjfreelancing picture mjfreelancing  ·  4Komentar

Ephasme picture Ephasme  ·  3Komentar

JoshKeegan picture JoshKeegan  ·  6Komentar

gtbuchanan picture gtbuchanan  ·  3Komentar