RSpec 3 지원
묘사
Rspec3을 사용하도록 패치를 보냅니다.이 PR로 트래비스 결과를 확인해 보겠습니다. 대부분의 시간을 고치고 있지만 여전히 완벽하지 않아서(2번 실패)
나는 이 두 가지 실패가 루비 버전에 달려 있는지 알고 싶다. 왜냐하면 나는 새 버전인 루비 2.4.0을 사용하기 때문이다.
$ ruby -v
ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-linux]
$ bundle -v
Bundler version 1.14.3
$ bundle install --path vendor/bundle
$ bundle list
Gems included by the bundle:
* bundler (1.14.3)
* daemons (1.2.4)
* diff-lcs (1.3)
* eventmachine (1.2.3)
* rack (2.0.1)
* rake (12.0.0)
* rake-compiler (1.0.3)
* rspec (3.5.0)
* rspec-core (3.5.4)
* rspec-expectations (3.5.0)
* rspec-mocks (3.5.0)
* rspec-support (3.5.0)
* thin (1.7.0)
$ bundle exec rake spec
...
[2017-03-02T22:11:15.056429 #17551] INFO -- : Hey
[2017-03-02T22:11:15.065435 #17551] INFO -- : hey
...
Failures:
1) Thin::Logging tracing routines (with NO custom logger) should emit trace messages if tracing is enabled
Failure/Error: out.include?("Hey").should be_truthy
expected: truthy value
got: false
# ./spec/logging_spec.rb:158:in `block (3 levels) in <top (required)>'
2) Thin::Logging tracing routines (with NO custom logger) should be usable (at the module level) for logging
Failure/Error: out.include?("hey").should be_truthy
expected: truthy value
got: false
# ./spec/logging_spec.rb:167:in `block (3 levels) in <top (required)>'
...
197 examples, 2 failures
고맙습니다.토론 #1
Travis CI를 활성화할 수 있습니까?https://travis-ci.org/macournoyer/thin
This is not an active repository You don't have sufficient rights to enable this repo on Travis. Please contact the admin to enable it or to receive admin rights yourself.
토론 #2
를 참고로 내가 상기 두 개의 실패한 테스트를 각각 실행할 때 그것들은 성공했다.이 문제를 해결할 방법이 있습니까?
$ bundle exec rspec spec/logging_spec.rb -e "should emit trace messages if tracing is enabled " --format documentation
...
Thin::Logging
tracing routines (with NO custom logger)
should emit trace messages if tracing is enabled
...
1 example, 0 failures
$ bundle exec rspec spec/logging_spec.rb:161 --format documentation
...
Thin::Logging
tracing routines (with NO custom logger)
should be usable (at the module level) for logging
...
1 example, 0 failures
토론 #셋
@junaruga는 이 서버를 사용하고 있는 사용자를 위해 마스터에서 변경 사항의 기초를 다시 설정할 시간이 있습니까?가능하다면github 동작을 설정할 것입니다.토론 #4
@ioquatix 그럼요.다시 기조를 정하라고.github 설정을 위한 작업에 감사 드립니다!토론 #5
저는 데모니제이션 규범을 통과할 수 없습니다.나는 그것이 어떻게 실패할 수 있는지 모르겠다.나는 그래도 합병할 거야.그럼 다시 정할 수 있겠어요?그리고 우리는 불안정한 규격을 복구해 볼 수 있다.
토론 #6
국가를 관리하는 방식daemonizing_spec.rb
은 매우 나쁘다.하나의 규범에서 다음 규범까지 대량의 상태가 누설되었다.뒷갈고리에서 프로세스를 종료하는 방식은 잘못된 것입니다. 프로세스가 종료되었을 수도 있기 때문에 테스트와 무관한 무작위 프로세스를 종료할 수도 있습니다.토론 #7
Then can you rebase? Then, we can try to fix flaky specs.
네, 할 수 있어요.나는 오늘 해 보겠다.
토론 #8
Reased.현재 주 지점에서 삭제되었기 때문에.travis.yml
삭제했습니다.I cannot get daemonization specs to pass.
나는 또한daemonization규범이 주소를 다시 정하기 전에 현재의 최신 주요 지점을 전달하지 않았다는 것을 알아차렸다.
그러나 주 지점의feature/rspec3에서 주소를 다시 정한 후에 이 규범은 나의 로컬 버전에 전달되었다.
반대로 나는 로컬 기기에서 루비 2.7.1과 페도라 32의 아래 2개
Thin::Logging tracing routines (with NO custom logger)
의 규범이 실패한 것을 보았다. 1) Thin::Logging tracing routines (with NO custom logger) should emit trace messages if tracing is enabled-
Failure/Error: out.include?("Hey").should be_truthy
expected: truthy value
got: false
# ./spec/logging_spec.rb:158:in `block (3 levels) in <top (required)>'
2) Thin::Logging tracing routines (with NO custom logger) should be usable (at the module level) for logging
Failure/Error: out.include?("hey").should be_truthy
expected: truthy value
got: false
# ./spec/logging_spec.rb:167:in `block (3 levels) in <top (required)>'
@object.trace
와 Logging.trace_msg
는 Logging.trace?
가 true
일 때 메시지를 출력하는 방법이다.2 규범은 독립 테스트로 집행할 때 통과한다.
$ bundle exec rspec spec/logging_spec.rb:158
$ bundle exec rspec spec/logging_spec.rb:167
이 두 규격은 이렇게 운행할 때 여전히 실패한다.$ bundle exec rspec spec/logging_spec.rb
그러나 다음 코드를 추가할 때 하위 결과(?)로실행 bundle exec rspec spec/logging_spec.rb
시 2개의 규범이 내 로컬 버전에 전달되었다$ git diff
diff --git a/spec/logging_spec.rb b/spec/logging_spec.rb
index 9510c1f..d38f005 100644
--- a/spec/logging_spec.rb
+++ b/spec/logging_spec.rb
@@ -151,7 +151,9 @@ describe Logging do
it "should emit trace messages if tracing is enabled " do
Logging.trace = true
+ p "[DEBUG] Hey trace: #{Logging.trace?}"
out = with_redirected_stdout do
+ p "[DEBUG] Hey trace: #{Logging.trace?}"
@object.trace("Hey")
end
@@ -160,7 +162,9 @@ describe Logging do
it "should be usable (at the module level) for logging" do
Logging.trace = true
+ p "[DEBUG] hey trace: #{Logging.trace?}"
out = with_redirected_stdout do
+ p "[DEBUG] hey trace: #{Logging.trace?}"
Logging.trace_msg("hey")
end
코드를 좀 봤으면 좋겠어요.고맙습니다.
토론 #9
이걸 합병하고 싶어요. 지금 규범이 왜 통과되지 않았는지 볼게요.Reference
이 문제에 관하여(RSpec 3 지원), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://github.com/macournoyer/thin/issues/334텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)