test runner (--test, node:test) subtest test context lack `.skip`, `.only` and `.todo` functions
まだ誰も着手していません。
- 主要言語
- JavaScript
- スター
- 122k
- フォーク
- 37.3k
- 平均マージ
- 4日 2時間
- マージ済み PR(30日)
- 283
説明
Version
20.7.0
Platform
Linux void-desktop 6.5.9_1 #1 SMP PREEMPT_DYNAMIC Thu Oct 26 12:11:50 UTC 2023 x86_64 GNU/Linux
Subsystem
No response
What steps will reproduce the bug?
const test = require('node:test');
test('Parent', t => {
t.test.only('Child only', () => {});
t.test.skip('Child skip', () => {});
t.test.todo('Child todo', () => {});
});
Run with node --test <file> (same result without the --test flag)
How often does it reproduce? Is there a required condition?
Consistently
What is the expected behavior? Why is that the expected behavior?
All functions work as described here: https://nodejs.org/docs/latest-v20.x/api/test.html#subtests
This method behaves identically to the top level test() function. The following example demonstrates the creation of a top level test with two subtests.
What do you see instead?
TypeError [Error]: t.test.todo is not a function
TypeError [Error]: t.test.skip is not a function
TypeError [Error]: t.test.only is not a function
Additional information
These functions work for top-level test, they don't work for nested tests.
Maybe it doesn't make sense to expose those functions for subtests (use just describe - maybe it's enough), but in that case the documentation is misleading
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
node:test のサブテスト API エントリーポイントから開始し、提供されたネストされたテストを node --test またはフラグなしで再現します。t.test.only、t.test.skip、t.test.todo のドキュメントに記載された動作を、観測された TypeErrors と比較します。ネストされた API の動作とドキュメントが意図された動作について一致すれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- javascript, node.js
- 領域
- testing
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 38/100