Cucumber의 결과를 Sinatra에서 호스팅, API 상태 사이트를 손쉽게 실현

이 기사는 최종 업데이트 이후 1년 이상 경과되었습니다. 조심해.

github 상태 사이트 등, 웹에서 API를 제공하는 프로바이더라면 유저로부터 각 기능이 정상인가를 알려고 싶네요.

뭔가 기능이 그 행동을하고 있는지 여부? 이것은 Cucumber의 차례입니까?
최신 결과가 언제라도 누구라도 알 수 있게 되어 있으면 베스트입니다만, 그것을 위한 서버를 세워 관리해···가 되면 귀찮게 되지 않는다.

스케줄러도 있는 것이고 에 6 에게 받을까.

이번 샘플은 이쪽에 있습니다 > htps : // 기주 b. 코 m / 히암을 rks / 헤로 쿠 _ 쿠 CM 베 r_에 mp ぇ

개요


  • cucumber html 출력을 주기적으로 실행
  • 결과 HTML을 heroku에서 호스팅

  • Gemfile 만들기


    Sinatra , Cucumber 와 같은 관련 Gems를 넣기 위해 Gemfile를 만들고, Bundle 해 둡시다. Gemfile.lock 잊지 않고 git에 넣어 둡니다.

    Gemfile
    source "https://rubygems.org"
    
    gem "sinatra"
    gem "cucumber"
    gem "rake"
    gem "thin"
    

    sinatra에서 index.html 보기


    / 가 불리면public/index.html 파일의 내용을 Read 하면 되므로, cunfig.ru 에 통째로 써 버리면 됩니다.

    config.ru
    require 'sinatra'
    get('/') { open('public/index.html').read }
    run Sinatra::Application
    

    필요 충분히. 다언어 대응이라면 ja라든지 en라든지의 쿼리를 받아 분기합니다.

    heroku 용 Foreman 파일 준비



    heroku는 Foreman에서 앱을 시작하기 때문에 foreman에 대한 정의를 만듭니다.

    Procfile
    web: bundle exec rackup -p $PORT
    

    heroku로


    features를 적당하게 쓰면 heroku로 올라갑니다.

    heroku create
    git push heroku master
    

    cucumber를 heroku에서 실행



    출력을 public/index.html로 업데이트합니다.

    heroku run cucumber -f html -o public/index.html
    

    이제 index.html가 cucumber의 출력으로 바뀝니다.

    우선 호스팅한 결과



    Ht tp // // Ghty-sp 인 gs-8010. 어리석은 p. 코m/

    문제없이 볼 수있었습니다.

    cucumber_on_heroku

    그리고는 정기적으로 실행하면 OK와.

    스케줄러 추가 및 등록



    앱에 스케줄러 애드온을 추가합니다.

    heroku addons:add scheduler:standard
    

    이전 cucumber를 작업에 등록하면 정기적으로 index.html가 업데이트됩니다.

    끝에



    출력의 포맷을 커스터마이즈 해, 유저에게의 자동 정보 제공 페이지가 만들어지네요.
    비헤이비어 테스트와 유저 고지를 동시에 실현할 수 있는, 꽤 좋은 구조라고 생각합니다.

    좋은 웹페이지 즐겨찾기