Implement Hook Behave library on Python

Dahun Yoo·2020년 12월 5일
0
post-thumbnail

java의 cucumber-jvm과 마찬가지로, Behave 도 Cucumber를 지원하는 라이브러리이기 때문에, Hook을 작성할 수 있습니다.


environment.py

일단 hook을 사용하기 위해서는 정해진 fileTree와 filenaming이 있습니다.
feature/environment.py
로 설정해주셔야 라이브러리에서 인식합니다.

기본적으로 hook으로 사용할 수 있는 모듈들의 이름은 아래와 같이 정해져 있습니다. 그대로 정의를 해야 라이브러리에서 인식할 수 있습니다.

  • before_step(context, step), after_step(context, step)
    These run before and after every step.
  • before_scenario(context, scenario), after_scenario(context, scenario)
    These run before and after each scenario is run.
  • before_feature(context, feature), after_feature(context, feature)
    These run before and after each feature file is exercised.
  • before_tag(context, tag), after_tag(context, tag)
    These run before and after a section tagged with the given name. They are invoked for each tag encountered in the order they’re found in the feature file.
  • before_all(context), after_all(context)
    These run before and after the whole shooting match.

보통 hook은 서버의 실행이나 브라우저의 실행을 담당하기도하고, 테스트 실행 전후에 테스트 데이터를 생성 혹은 삭제에 사용할 수 있습니다.

Scenario객체에는 아래와 같은 값들이 들어갈 수 있습니다.

Ref.

profile
QA Engineer

0개의 댓글