यदि आप सूचियों या मानचित्रों या किसी अन्य जटिल संरचनाओं से मेल खाते हैं तो क्या दिया गया है और क्या अपेक्षित है के बीच अंतर देखने के लिए उपयोगी है। उदाहरण के लिए:स्कैलाटेस्ट में दिए गए और अपेक्षित के बीच अंतर कैसे दिखाएं?
Map("a" -> 1, "b" -> 2, "c" -> 3) should equal Map("a" -> 1, "b" -> 5, "c" -> 3)
// ScalaTest output:
[info] Map("a" -> 1, "b" -> 2, "c" -> 3) did not equal Map("a" -> 1, "b" -> 5, "c" -> 3) (Test.scala)
[info] org.scalatest.exceptions.TestFailedException:
[info] ...
आप मैन्युअल रूप से दोनों मैप्स के माध्यम से नज़र उन दोनों के बीच अंतर है, बड़ा अपने संग्रह यह कठिन हो जाता है हो जाता है पता लगाने के लिए करना होगा।
RSpec में दूसरे हाथ पर आपको मिल जाएगा:
expect({a: 1, b: 2, c: 3}).to match({a: 1, b: 5, c: 3})
// RSpec output:
Failure/Error: it { expect({a: 1, b: 2, c: 3}).to match({a: 1, b: 5, c: 3})}
expected {:a=>1, :b=>2, :c=>3} to match {:a=>1, :b=>5, :c=>3}
Diff:
@@ -1,4 +1,4 @@
:a => 1,
-:b => 5,
+:b => 2,
:c => 3,
# ./spec/test_spec.rb:2:in `block (2 levels) in <top (required)>'
क्या यह संभव है ScalaTest के साथ इसी तरह कुछ है करने के लिए?
मुझे आश्चर्य है कि स्कैलाटेस्ट 3.0 (अब स्नैपशॉट चरण में) इस में सुधार प्रदान करेगा। यहां एक वीडियो -> https://skillsmatter.com/skillscasts/6021-scalatest-and-scalactic-3-0 – akauppi