RSpec과 Cucumber의 차이점은 무엇입니까? [닫은]
6 개월의 Rails 개발 경험이 있습니다. 인증 및 권한 부여 및 postgresql db와 함께 현재 사용중인 웹 응용 프로그램을 만들었습니다.
나는 두 번째 Rails 애플리케이션으로 넘어 가고 있지만 이번에는 레슨을 배우고 나면 TDD를 사용하여 개발하고 싶습니다. 확장하고 버그를 수정하는 것이 훨씬 쉽다는 것을 알았 기 때문입니다. 개발 속도는 느리지 만 장기적으로는 다루기가 훨씬 쉽습니다.
나는 Rspec과 Cucumber에 대해 들었지만 완전히 혼란스러워합니다.
RSpec과 Cucumber의 차이점과 용도에 대해 알고 싶습니다.
또한 테스트 프레임 워크가 실제로 필요한지 초보자 (단독 개발자이기도 함)의 관점에서 알면 유용합니다.
RSpec과 Cucumber는 모두 테스트 프레임 워크입니다. RSpec에는 전통적인 단위 테스트가 포함됩니다 (이는 애플리케이션의 클래스 또는 일부를 애플리케이션의 나머지 부분과 분리하여 테스트 함을 의미합니다. 따라서 모델은 모델이 수행해야하는 작업, 컨트롤러가 수행해야하는 작업 등을 수행함).
RSpec 및 Cucumber는 모두 수락 테스트에 사용됩니다 (요청한 사람에 따라 ATDD, BDD, 예제 별 사양 등). 이는 비즈니스 사례 중심의 통합 테스트입니다. 즉, 사용자가 애플리케이션을 사용하는 방법을 시뮬레이션하고 전체 Rails 스택을 사용하므로 애플리케이션의 여러 부분이 함께 작동하는 방식에 대한 문제를 단위 테스트가 수행하지 않는 방식으로 찾을 수 있습니다. 찾기.
RSpec과 Cucumber의 주요 차이점은 비즈니스 가독성 요소입니다. Cucumber의 주요 결점은 사양 (기능)이 테스트 코드와 별개이므로 제품 소유자가 코드를 파지 않고도 사양을 제공하거나 검토 할 수 있다는 것입니다. 이들은 Cucumber에서 만든 .feature 파일입니다. RSpec에는 유사한 메커니즘이 있지만 대신 비즈니스 스펙을 포함하는 Describe, Context 또는 It 블록으로 단계를 설명한 다음 해당 명령문을 실행하는 코드를 즉시 갖습니다. 이 접근 방식은 개발자가 작업하기가 조금 쉬우 며 기술이 아닌 사람들에게는 조금 더 어렵습니다.
어느 것을 사용해야합니까? 귀하가 유일한 개발자이자 제품 소유자 인 경우 RSpec을 고수 할 것입니다. 기술 담당자가 이해하기 쉬우 며, 범위를 정하고 통제 할 수있는 몇 가지 이점을 제공하며, 테스트를 위해 RegEx를 사용하지 않아도됩니다. 단계. 고객을 위해 이것을 구축하고 사양과 관련하여 실제로 사용하는 경우, 승인 테스트를 위해 오이로 가서 단위 테스트를 위해 RSpec을 사용하십시오.
둘 사이의 주요 차이점을 보여주기 위해 :
오이:
#articles.feature
Given an article exists called "Testing Demonstration"
When I visit the list of articles
Then I should see an article called "Testing Demonstration"
#article_steps.rb
Given /^an article exists called "(.+)"$/ do |title|
FactoryGirl.create(:article, title: title)
end
When /^I visit the list of articles$/ do
visit articles_path
end
Then /^I should see an article called "(.+)"$/ do |title|
page.should have_content title
end
Rspec
describe "Articles" do
let(:article) { FactoryGirl.create(:article) }
context "Index Page" do
before { visit articles_path }
it { page.should have_content article.title }
end
end
이 블로그 시리즈는 RSpec 사용에 탁월합니다.
참고 URL : https://stackoverflow.com/questions/11762245/whats-the-difference-between-rspec-and-cucumber
'IT박스' 카테고리의 다른 글
F12 방법으로 점프-> 점프 후 이전 방법으로 되돌아 갑니까? (0) | 2020.07.27 |
---|---|
데이터베이스에 열거 형을 저장하는 방법 (0) | 2020.07.27 |
원격 JMX JConsole을 사용하는 사람이 있습니까? (0) | 2020.07.26 |
boost_shared_mutex (다중 읽기 / 한 번 쓰기)의 예? (0) | 2020.07.26 |
matplotlib에서 밀도 플롯을 만드는 방법은 무엇입니까? (0) | 2020.07.26 |