Preserve test run history
メンテナーはふだん 1 日以内に返信
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 62/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- javascript
調査の方向性
Start in web/interview.js, where the Run tests handler and the Markdown export call reportMarkdown(), then read web/runners.js to see how each test result object is built, including where input is set only for custom or failed cases. Next, check web/render.js to see how the report is assembled. Done means each run is appended to a testHistory array, passing cases keep their input, and a Test Run History section appears in the exported Markdown, with regression tests under tests/browser/ covering it.
索引モデルが issue の本文から書いたものです。
説明
Description
Currently, the interview report only preserves the candidate's final version of the code. Intermediate code changes, failed test runs, and error messages during the interview are not fully recorded.
This makes it difficult for candidates to review their mistakes after the interview, understand why their solutions failed, and reflect on how they could improve their problem-solving approach.
Expected Behavior
- Record each test run when the candidate clicks Run tests.
- Preserve the timestamp, test results, expected values, actual values, and available error messages for each run.
- Include a code snapshot only when the code differs from the previous test run, avoiding unnecessary duplication.
- Keep only the 10 most recent test runs to limit the size of the exported Markdown report.
- Include the test run history in the final Markdown interview report, alongside the existing final code and interview transcript.
- Preserve previous records within the retained history instead of overwriting them with the latest test results. Display the additional records only in the Markdown report without adding them to Past Attempts Reports.
Proposed Solution
1. Record test run history
Update web/interview.js to add a testHistory array to the interview state.
Before executing tests, capture the current code, programming language, and timestamp. After execution, append a record containing:
- Run number and timestamp
- Programming language
- Code snapshot, if the code has changed since the previous run
- Number of passed and total tests
- Setup errors and individual test case results
- Available input values, expected outputs, actual outputs, and error messages
After recording each run, retain only the 10 most recent entries.
2. Avoid duplicate code snapshots
Compare the current code with the code from the previous test run.
- If the code has changed, save a new code snapshot.
- If the code has not changed, record the test results without duplicating the code snapshot.
This reduces the size of the exported report while preserving meaningful code changes.
3. Include test history in the Markdown report
Update web/render.js to accept a testHistory parameter and generate a Test Run History section.
Each run should include its timestamp, test summary, available test case details, and a code snapshot when applicable.
Update the Markdown export function in web/interview.js to pass state.testHistory to reportMarkdown().
The existing final code section and interview transcript should remain unchanged.
4. Add regression tests
Update the relevant tests under tests/browser/.
Example Result
- 主要言語
- Rust
- スター
- 160
- フォーク
- 64
- 平均マージ
- 1日 9時間
- マージ済み PR(30日)
- 114
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
sysprog21/codetrial のほかの issue
-
Highlight the active line in the code editor対応中かも @ArthurArthurArthur0817 が 7 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
sysprog21/codetrial#247 · コメント 3 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
Include local time in downloaded report filenames対応中かも @106081011 が今日担当しました。 オープン
sysprog21/codetrial#309 · コメント 1 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
Avoid automatic bracket pairing inside comments and strings対応中かも @Jonathas2127 が今日担当しました。 オープン
sysprog21/codetrial#307 · コメント 2 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 5/5 1週間以上 初心者へのやさしさ 15/100
メンテナーはふだん 1 日以内に返信
-
Standardize section header and toggle indicator styles for test panel対応中かも @kumi222 が 1 日前に担当しました。 オープン
sysprog21/codetrial#298 · コメント 2 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
sysprog21/codetrial の issue をすべて見る
似ている issue
-
Custom hosts written as trailing-dot FQDNs (`host.local.`) aren't detected as local backends対応中かも @roboomp が今日担当しました。 オープンbug prio:p2 providers triaged
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
can1357/oh-my-pi#15798 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信
-
requires-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
apache/datafusion-comet#7001 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
-
Add a Storybook section to CONTRIBUTING.md対応中かも @ChanakyaG2004 が今日担当しました。 オープンdocumentation good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
FlowwStar/FlowStar#995 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信