के साथ निर्भरता इंजेक्शन मैं यह पता लगाने की कोशिश कर रहा हूं कि मैं XUnit के साथ निर्भरता इंजेक्शन का उपयोग कैसे कर सकता हूं। मेरा लक्ष्य मेरी टेस्ट क्लास में मेरे उत्पाद रिपोजिटरी को इंजेक्ट करने में सक्षम होना है।XUnit और ASP.NET कोर 1.0
यहाँ कोड मैं कोशिश कर रहा हूँ है: निम्नलिखित निर्माता मानकों (ICustomerRepository भंडार) स्थिरता डेटा मिलान नहीं था
इस ओर जाता है मुझे विश्वास है:
public class DatabaseFixture : IDisposable
{
private readonly TestServer _server;
public DatabaseFixture()
{
_server = new TestServer(TestServer.CreateBuilder().UseStartup<Startup>());
}
public void Dispose()
{
// ... clean up test data from the database ...
}
}
public class MyTests : IClassFixture<DatabaseFixture>
{
DatabaseFixture _fixture;
public ICustomerRepository _repository { get; set; }
public MyTests(DatabaseFixture fixture, ICustomerRepository repository)
{
_fixture = fixture;
_repository = repository;
}
}
यहाँ त्रुटि है कि XUnit निर्भरता इंजेक्शन का समर्थन नहीं करता है, केवल तभी यह स्थिरता है।
क्या कोई मुझे XUnit का उपयोग करके मेरी टेस्ट क्लास में ProductRepository का एक उदाहरण प्राप्त करने का तरीका दे सकता है? मुझे विश्वास है कि मैं एक टेस्ट सर्वर शुरू कर रहा हूं इसलिए Startup.cs DI चलाता है और कॉन्फ़िगर करता है।
डैनी आप GitHub कि भयानक होगा के लिए एक उदाहरण अपलोड कर सकते हैं यदि। मुझे यह मानना होगा कि मैं अभी भी थोड़ा उलझन में हूं। आइए कहें कि मेरे पास एक आईपॉडक्ट रेपो और एक उत्पाद रेपो है: क्या आप मुझे DI का उपयोग करके ProductRepo का उदाहरण प्राप्त करने के उचित तरीके का उदाहरण दे सकते हैं, इसलिए मैं इसे अपने टेस्ट क्लास में उपयोग कर सकता हूं? –
ब्लेक, मैंने अपना जवाब अपडेट कर लिया है। आप क्या करेंगे, IPrimeService के बजाय, आप IProductRepo लिखेंगे और नकारात्मक PrimeService के बजाय, आप ProductRepo लिखेंगे। आशा है कि अब यह स्पष्ट है। –