내가 바라는 테스팅 프레임워크의 機能들
- 프로세스 分離(process separation)
- 이를 通한 完全한 타임아웃(timeout) 처리
- 自然스러운 프로세스 竝列化(process parallelism)
- pytest-xdist 參考
- CircleCI의 竝列化 機能도 支援 可能할까?
- 標準 入出力(standard streams) 캡처 https://docs.pytest.org/en/6.2.x/capture.html
- 部分 表現式(subexpression)을 모두 펼쳐서 보여주는 똑똑한 assertion
- Node.js用 power-assert 參考
- pytest의 assertions 參考
- 柔軟한 fixture 機能
- dependency injection 스타일로 https://docs.pytest.org/en/6.2.x/fixture.html#requesting-fixtures
- fixture도 다른 fixture를 쓸 수 있어야 함 https://docs.pytest.org/en/6.2.x/fixture.html#fixtures-can-request-other-fixtures
- parametrization https://docs.pytest.org/en/6.2.x/fixture.html#parametrizing-fixtures
- 많은 內裝 픽스처들
- 臨時 디렉터리라든가 https://docs.pytest.org/en/6.2.x/tmpdir.html
- ecosystem
- JUnit XML 出力
- 各種 continuous integration 서비스 支援
元來는 .NET에서 내 마음에 드는 testing framework가 없어서 적어 본 건데, https://twitter.com/nickchapsas/status/1504129734388686849 스레드에 xUnit의 代案이 꽤 나와 있는 듯.