質問編集履歴

3

試したこと追加

2021/04/28 06:39

投稿

nr829
nr829

スコア1

test CHANGED
File without changes
test CHANGED
@@ -81,3 +81,21 @@
81
81
  としたら通りませんでした。
82
82
 
83
83
  (テスト対象の@hogeが集合の場合にも対応したいです)
84
+
85
+
86
+
87
+ @hoge側のwhereで配列で返ってくるのを失念していたので
88
+
89
+ y=[]
90
+
91
+ a = Hoge.new(id:1 ~)
92
+
93
+ b = Hoge.new(id:2 ~)
94
+
95
+ y.push(a)
96
+
97
+ y.push(b)として
98
+
99
+ xpect(assigns(:hoge)).to match_array y
100
+
101
+ としましたが中身の要素の内容が異なっていても通ってしまいました。

2

試したこと追加

2021/04/28 06:39

投稿

nr829
nr829

スコア1

test CHANGED
File without changes
test CHANGED
@@ -59,3 +59,25 @@
59
59
  のような感じで表示されていてデータの中身が一致していないという訳ではなく別の理由だと思うのですが...
60
60
 
61
61
  よろしくお願い致します。
62
+
63
+
64
+
65
+ ### 試したこと
66
+
67
+ x = Hoge.new(id:1, name: 'TAROU')
68
+
69
+ expect(assigns(:hoge)).to contain_exactly x
70
+
71
+ としたら通りましたが
72
+
73
+ Hoge.create!(id:2, name: 'ZIROU')を追加して
74
+
75
+
76
+
77
+ x = [Hoge.new(id:1, name: 'TAROU'),Hoge.new(id:2, name: 'ZIROU')]
78
+
79
+ expect(assigns(:hoge)).to contain_exactly x
80
+
81
+ としたら通りませんでした。
82
+
83
+ (テスト対象の@hogeが集合の場合にも対応したいです)

1

specのログを少し追記しました

2021/04/28 02:12

投稿

nr829
nr829

スコア1

test CHANGED
File without changes
test CHANGED
@@ -40,6 +40,12 @@
40
40
 
41
41
  specのログには
42
42
 
43
+ ```
44
+
45
+ expected: #<ActiveRecord::Relation[#Hoge id: 1~]
46
+
47
+ got: #<ActiveRecord::Relation[#Hoge id: 1~]
48
+
43
49
  -[#Hoge:0x0000000f0dd~
44
50
 
45
51
  +[#Hoge:0x0000000f011~
@@ -48,6 +54,8 @@
48
54
 
49
55
  name:"TAROU"
50
56
 
57
+ ```
58
+
51
59
  のような感じで表示されていてデータの中身が一致していないという訳ではなく別の理由だと思うのですが...
52
60
 
53
61
  よろしくお願い致します。