के साथ एक उदाहरण जांचने के लिए कैसे करें मैं अपने जावा प्रोजेक्ट में स्कैलाटेस्ट को शामिल करने की कोशिश कर रहा हूं, स्कैलास्ट्स द्वारा सभी जुनीट परीक्षणों को बदल रहा हूं। एक बिंदु पर, मैं यह जांचना चाहता हूं कि क्या गिइस इंजेक्टर सही प्रकार इंजेक्ट करता है। जावा में, मैं इस तरह एक परीक्षण है:स्कैला (टेस्ट)
public class InjectorBehaviour {
@Test
public void shouldInjectCorrectTypes() {
Injector injector = Guice.createInjector(new ModuleImpl());
House house = injector.getInstance(House.class);
assertTrue(house.door() instanceof WoodenDoor);
assertTrue(house.window() instanceof BambooWindow);
assertTrue(house.roof() instanceof SlateRoof);
}
}
लेकिन मैं एक समस्या ScalaTest के साथ एक ही कर रही है:
class InjectorSpec extends Spec {
describe("An injector") {
it("should inject the correct types") {
val injector = Guice.createInjector(new ModuleImpl)
val house = injector.getInstance(classOf[House])
assert(house.door instanceof WoodenDoor)
assert(house.window instanceof BambooWindow)
assert(house.roof instanceof SlateRoof)
}
}
}
यह शिकायतों कि मूल्य instanceof दरवाजा/खिड़की का सदस्य नहीं है/रूफ। क्या मैं स्कैला में इस तरह के उदाहरण का उपयोग नहीं कर सकता?
अच्छी तरह से, यह वास्तव में प्रश्न का उत्तर नहीं देता है। ScalaTest में टाइप चेक के लिए अंतर्निहित समर्थन है। @ मार्टिन-जी – maasg
का उत्तर देखें मेरा उत्तर लगभग 5 वर्ष पुराना है। 'इंस्टेंस को @ मार्टिन-जी द्वारा दिखाए गए एक [कुछ क्लास] तकनीक को वापस लेना चाहिए (जैसा कि वह सही ढंग से बताता है)। यदि आप इसके बारे में तकनीकी बनना चाहते हैं, तो मेरा जवाब पूरी तरह से ओपी के प्रश्न का उत्तर देता है, जो है: "क्या मैं स्कैला में इस तरह के उदाहरण का उपयोग नहीं कर सकता?"। दोनों दृष्टिकोण आज के रूप में काम करते हैं और इस प्रकार दोनों सही जवाब हैं। आपका दिन शुभ हो। – agilesteel
अगर यह टाइप करें तो यह कैसे करें? – Lobo