source

Rspec에서 단일 테스트/사양 파일을 어떻게 실행합니까?

nicesource 2023. 6. 3. 08:30
반응형

Rspec에서 단일 테스트/사양 파일을 어떻게 실행합니까?

예를 들어 편집 중인 하나의 파일에 대해 단일 사양 파일의 테스트를 실행할 수 있어야 합니다. rake spec모든 사양을 실행합니다. 때문에 제프젝트프레아가닙다니트로젝일는즈로▁my,아다니닙▁is▁so제▁project가.rake spec:doc작동하지 않습니다.

이것이 중요한지는 모르겠지만, 여기 제 디렉토리 구조가 있습니다.

./Rakefile./lib./lib/syslog.sys./lib/smart./lib/doc/doc.dll./lib/sys/db.sys./규격./spec/spec.opts./spec/spec_message.dll./spec/db_spec.dll

또는 레이크를 건너뛰고 'rspec' 명령을 사용할 수 있습니다.

bundle exec rspec path/to/spec/file.rb

당신의 경우, 당신의 ./spec/db_spec.rb 파일에 적절한 도우미가 포함되어 있다면 잘 작동할 것이라고 생각합니다.

이전 버전의 rspec을 사용하는 경우:

bundle exec spec path/to/spec/file.rb

원시 호출:

레이크 SPEC=SPEC/컨트롤러/세션_controller_spec.rb \SPEC_OPTS="-e \"쿠키로 로그인해야 한다\""

이제 이것을 편집기에 내장하는 방법을 알아보세요.

이 질문은 오래된 질문이지만 단일 테스트를 실행하는 방법을 검색할 때 Google 상단에 표시됩니다.최근에 추가된 것인지는 모르겠지만, 사양에서 단일 테스트를 실행하려면 다음을 수행할 수 있습니다.

rspec path/to/spec:<line number>

여기서 -line number-는 검정의 일부를 포함하는 라인 번호입니다.예를 들어 다음과 같은 규격이 있는 경우:

1: 
2: it "should be awesome" do
3:   foo = 3
4:   foo.should eq(3)
5: end
6:

spec/models/foo_spec.rb에 저장되어 있다고 가정합니다.그런 다음 다음을 실행합니다.

rspec spec/models/foo_spec.rb:2

그리고 그것은 단지 하나의 스펙을 실행할 것입니다.사실, 그 숫자는 2에서 5 사이의 숫자일 수 있습니다.

*e*ample 테스트 사례의 실제 텍스트를 다음과 같이 사용할 수도 있습니다.-e!

이유:

it "shows the plane arrival time"

사용할 수 있습니다.

rspec path/to/spec/file.rb -e 'shows the plane arrival time'
./scripts/spec path/to/spec/file.rb -e 'shows the plane arrival time'

여기는 갈퀴가 필요 없습니다.

도움말에서(규격 -h):

-l, --line LINE_NUMBER           Execute example group or example at given line.
                                 (does not work for dynamically generated examples)

예: spec spec/runner_spec.rb -l 162

모든 rspec 파일을 실행하는 방법rspec

참고: 프로젝트의 루트에 있어야 합니다.

하나의 rspec 파일을 실행하는 방법rspec 'path_to/spec.rb'

참고: 'path_to/spec.sys'를 경로로 바꿉니다.따옴표는 선택 사항입니다.

하나의 파일에서 하나의 rspec 테스트를 실행하는 방법rspec 'path_to/spec.rb:7'

참고::7은 테스트가 시작되는 라인 번호입니다.

을 이 신 다 인 으 다 했 그 을 것 것 없 수 입 니 을 은 가 질 당 신 면 약 설 치 로 그 러 보 플 닌 석 아 이 ▁the ▁r ▁if t ▁have ' 니 spec ▁won 입 ▁then spec 다▁you 것 ▁a 만 ▁rather 약 , ▁as 을 ▁installed ▁gem ▁you ▁pluginspec실행 가능한

어쨌든 루비를 사용하여 파일을 실행하기만 하면 됩니다.rspec 코드는 테스트를 실행할 수 있을 정도로 영리합니다.

예:

ruby myclass_spec.rb

http://github.com/grosser/single_test 통해 다음과 같은 작업을 수행할 수 있습니다.

rake spec:user          #run spec/model/user_spec.rb (searches for user*_spec.rb)
rake test:users_c       #run test/functional/users_controller_test.rb
rake spec:user:token    #run the first spec in user_spec.rb that matches /token/
rake test:user:token    #run all tests in user_test.rb that match /token/
rake test:last
rake spec:last

Ruby 1.9.2 및 Rails 3에는 하나의 사양 파일을 쉽게 실행할 수 있는 방법이 있습니다.

ruby -I 사양/모델/user_spec.rb

설명:

  • ruby명령이 보다 빠른 경향이 있습니다.rake지휘권
  • -I spec"파일을 찾을 때 'spec' 디렉터리를 검색합니다."
  • spec/models/user_spec.rb실행할 파일입니다.

이 질문에 대한 많은 훌륭한 답변이 작성되었지만, Rspec 접근법을 사용하는 답변은 없습니다.

태그를 사용하여 다른 파일에서 하나 이상의 사양을 실행합니다. 현재 개발 작업과 관련된 사양만 실행합니다.

예를 들어, "dev" 태그를 "current" 값으로 추가합니다.

it "creates an user", dev: :current do
  user = create(:user)
  expect(user.persisted?).to be_truthy
end

그럼 나는 뛰어요

bundle exec rspec . --tag dev:current

개별 사양 또는 그룹에서 서로 다른 태그/값을 설정할 수 있습니다.

게시물이 오래되고 명령이 변경되어 이러한 예제를 사용하는 데 어려움을 겪었습니다.

몇 번 둘러본 후에 저는 이 작품들을 발견했습니다.

rspec spec/message/user_spec.message

그러면 단일 파일만 실행되고 터미널에서 유용한 출력을 제공합니다.

반점이 있는.

또는 자동 테스트를 확인합니다.

명령 창에서 자동 테스트를 실행하면 저장할 때마다 사양 파일이 실행됩니다.또한 지정한 파일이 실행될 때마다 실행됩니다.

예를 들어 person_spec.rb라는 모델 사양 파일과 person.rb라는 모델 파일이 있으면 편집기에서 이러한 파일 중 하나를 저장할 때마다 사양 파일이 실행됩니다.

예를 들어 작업관리 만들기 테스트를 실행하고 있다고 가정해 보겠습니다.아래와 같은 파일 creet_spec.rb를 사용하여 언제든지 특정 작업관리 코드를 실행할 수 있습니다.

      rspec/spec/features/controller/spec_file_name.rb

   Example:

   Creating  rspec spec/features/todos/create_spec.rb
   Editing   rspec spec/features/todos/edit_spec.rb
   Deleting  rspec spec/features/todos/destroy_spec.rb

모든 사양을 한 번의 짧은 시간에 실행하려면 다음과 같이 하십시오.

   rspec 

특정 컨트롤러 사용자에서 모든 사양을 실행하려면 다음과 같이 하십시오.

  rspec/spec/feaures/controller_name

  Example:   rspec/spec/features/todos

그것이 당신에게 더 많은 이해를 주기를 바랍니다!

그리고 테스트 파일에 특정 라인을 실행할 수 있습니다.

rspec spec/models/model_spec.rb:47

언급URL : https://stackoverflow.com/questions/143925/how-do-you-run-a-single-test-spec-file-in-rspec

반응형