GitHub Actions에서 인수 테스트 실패

Discourse 커뮤니티 여러분께 :wave:

여러분이 제공해 주신 스켈레톤을 기반으로 새로운 플러그인을 설정하고 있습니다. 이미 큰 도움이 되었습니다.

현재 프론트엔드와 백엔드 모두에 대한 테스트를 작성하고 있습니다. Discourse 개발 환경에서는 모든 것이 예상대로 작동하며, 인수 테스트(acceptance tests)도 완벽하게 실행됩니다.

제 워크플로우 파일은 다음과 같이 단순합니다:

name: Discourse Projects Plugin - CI

on:
  push:
    branches: [ main ]

jobs:
  discourse:
    uses: discourse/.github/.github/workflows/discourse-plugin.yml@v1

하지만 Github Actions에서 워크플로우를 실행하면 frontend_tests / Plugin QUnit 단계에서 특이한 오류가 발생합니다:

Built project successfully. Stored in "/tmp/tests-dist-20231022-6082-zjfckn.1g5q".
not ok 1 Chrome 119.0 - [180 ms] - global failure
    ---
        stack: >
            Error: No tests were run.
                at done (http://localhost:7357/assets/chunk.74084cb2759545d0c671.js:108653:17)
                at advanceTestQueue (http://localhost:7357/assets/chunk.74084cb2759545d0c671.js:108565:7)
                at Object.advance (http://localhost:7357/assets/chunk.74084cb2759545d0c671.js:108520:7)
                at unblockAndAdvanceQueue (http://localhost:7357/assets/chunk.74084cb2759545d0c671.js:110490:21)
        message: >
            No tests were run.
        negative: >
            false
        browser log: |
            {"type":"log","text":"ℹ️ Ember v3.28.12"}
    ...
Out of requested 1 browser(s), 1 browser(s) was launched & completed.
All browsers to exited.
Used JS Heap Size: 0.073GB

이 외에는 워크플로우를 디버그 로깅으로 다시 실행하더라도 세부 정보를 얻을 수 없습니다. 워크플로우의 다른 모든 단계(린터, rspec 등)는 올바르게 완료됩니다.

따라서 제 질문은 다음과 같습니다:

  • 무료 Github 러너로 인수 테스트 단계를 실행하는 데 충분한가요?
  • 이 문제를 어떻게 해결할 수 있는지 단서가 있을까요?

어딘가에서 뭔가 잘못하고 있는 것 같지만, 어디서부터 살펴봐야 할지 감이 잡히지 않습니다.

도와주셔서 감사합니다. 그리고 Discourse 개발에 기울여 주신 모든 노력에도 감사드립니다!

피에르님, 안녕하세요! 개발자 경험이 일부 측면에서 더 좋아질 수 있다는 점에 동의하며, 이 문제를 어떻게 마주하게 되셨는지와 앞으로 여러분과 다른 개발자들이 더 쾌적한 경험을 할 수 있도록 우리가 무엇을 할 수 있는지 파악해 보고 있습니다.

로컬에서 인수 테스트를 어떻게 실행하시나요?

test/javascripts 디렉터리에 테스트를 정의해 두셨나요?

안녕하세요 @nbianca, 답변 감사합니다!

저는 http://localhost:4200/tests의 Qunit 페이지를 통해 로컬에서 인수 테스트를 실행합니다:

보시는 것처럼, test/javascripts에 이미 몇몇 테스트가 있습니다.

사실, 질문 덕분에 왜 테스트가 감지되지 않는지 이해하려고 노력하게 되었습니다. 그래서 제공해 주신 워크플로우를 확인해 보니, Qunit이 저장소 이름으로 채워진 "PLUGIN_NAME"과 함께 실행되고 있더군요.

제 경우, 저장소 이름이 플러그인 이름과 다릅니다. 작업 로그에도 이 부분에 대한 경고가 표시됩니다. 저장소 이름을 그에 맞게 변경해 보고, 결과를 알려드리겠습니다 :slight_smile:

저장소와 플러그인에 같은 이름을 사용하는 것이 효과가 있었습니다.

도와주셔서 감사합니다, @nbianca!