0
연습을 위해 컨트롤러 동작을 테스트하고 있습니다. 내 컨트롤러에서는 데이터베이스의 이름으로 모든 고유 제품을 가져 오려고합니다.RSpec 배열 수를 확인하십시오.
def shop
@products = Product.select('distinct on (name) *').sort_by &:order
end
수동으로 검사했는데 정상적으로 작동합니다. 지금은 내 RSpec을 사용하여 내 테스트를 설정하고 내가 그 @products 테스트 할 것은 0이 아닌 배열 큰 : 이제
RSpec.describe PagesController, type: :controller do
describe 'GET #shop' do
it 'should get all proudcts' do
get :shop
expect(assigns(:products).count).to be > 0
end
end
end
, I합니다 ... 기대의 여러 가지 조합을 시도했다하지만 유지 그것의 nil 또는 0이라고 말하면서, 나는 그렇지 않다는 것을 안다. 배열이 0보다 큰지 어떻게 테스트 할 수 있습니까?
을 확인하기를 원한다면, 당신이 당신의 자신의 정규 표현을 만들 수 있지만 또 다른 방법은
을 수 있습니다. 다음은 그 예입니다. https://gist.github.com/danielwestendorf/84058a8b458a4f3cfe87e13bd8b9ca9c –
감사합니다. 나는 실제로 문제를 발견했다. 테스트 데이터베이스에 데이터를 입력하지 않았으므로 모든 것이 올바르게 설정되지 않았습니다. smh. – Darkisa