Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Error in test runner prevents test from completing its run.

オープン
#1,454 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
42/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
godot
領域
testing

調査の方向性

Start by reading res://script_checking/PracticeTester.gd:72 and the callers in res://ui/UIPractice.gd:611 and :613, then inspect res://ui/screens/practice/PracticeInfoPanel.gd:92. Reproduce the reported failure with the L24.P1 inventory example, where a string value triggers errors in the test script. Done means valid student code that causes a test script error no longer leaves the checking screen frozen and the test run completes.

索引モデルが issue の本文から書いたものです。

説明

Reported in L24.P1: a script error that affects the test script does not surface to the user and prevents the test from completing.

Entering a string into L24P1 will freeze the checking screen.

Technical information:

  • Location: L24.P1 - Creating Dictionaries > Creating an inventory using a dictionary
  • File: res://course/lesson-25-creating-dictionaries/lesson.bbcode
  • Platform: Web
  • Commit: 42cfa87

Code from the current practice

var inventory = {
"healing heart": 3,
"gems": 9,
"sword": "A"
}

The specific thing to look to fix is not about allowing people to enter string values in dicts. It's a more general problem: We want to be able to recover from valid code that triggers errors in the test scripts and still complete the test runs.

Just tested, trace:

SCRIPT ERROR: Invalid type in function 'display_item' in base 'PanelContainer (-9223371222153161384.gd)'. Cannot convert argument 2 from String to int.
          at: run (gdscript://-9223371222153161384.gd:38)
          GDScript backtrace (most recent call first):
              [0] run (gdscript://-9223371222153161384.gd:38)
              [1] _run (gdscript://-9223371222153161384.gd:43)
              [2] _run_if_valid (res://ui/UIPractice.gd:930)
SCRIPT ERROR: Invalid operands 'int' and 'String' in operator '=='.
          at: test_inventory_has_correct_values (res://course/lesson-25-creating-dictionaries/creating-inventory/TestInventory.gd:50)
          GDScript backtrace (most recent call first):
              [0] test_inventory_has_correct_values (res://course/lesson-25-creating-dictionaries/creating-inventory/TestInventory.gd:50)
              [1] run_tests (res://script_checking/PracticeTester.gd:72)
              [2] _test_student_code (res://ui/UIPractice.gd:611)
              [3] _run (gdscript://-9223371222153161384.gd:45)
SCRIPT ERROR: Trying to assign value of type 'Nil' to a variable of type 'String'.
          at: run_tests (res://script_checking/PracticeTester.gd:72)
          GDScript backtrace (most recent call first):
              [0] run_tests (res://script_checking/PracticeTester.gd:72)
              [1] _test_student_code (res://ui/UIPractice.gd:611)
              [2] _run (gdscript://-9223371222153161384.gd:45)
SCRIPT ERROR: Invalid access to property or key 'errors' on a base object of type 'Nil'.
          at: PracticeInfoPanel.set_tests_status (res://ui/screens/practice/PracticeInfoPanel.gd:92)
          GDScript backtrace (most recent call first):
              [0] set_tests_status (res://ui/screens/practice/PracticeInfoPanel.gd:92)
              [1] _test_student_code (res://ui/UIPractice.gd:613)
              [2] _run (gdscript://-9223371222153161384.gd:45)

Related: #1211

主要言語
GDScript
スター
2.8k
フォーク
238
PR マージ指標
30日以内にマージされた PR はありません

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

GDQuest/learn-gdscript のほかの issue

GDQuest/learn-gdscript の issue をすべて見る

似ている issue

Testing & QA の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。