본문으로 건너뛰기
cccskills
무료GitHub에 공개

add-package-tests

Add unit tests to a Datagrok package

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md3.3 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Add Package Tests

Add unit tests to a Datagrok package using the platform's custom test framework.

Usage

/add-package-tests [package-path]

Instructions

When this skill is invoked, help the user set up and write tests for a Datagrok package.

Step 1: Set up test infrastructure

For a new package with tests:

grok create <package-name> --test

For an existing package:

cd <package-name>
grok add tests
npm install

Step 2: Create test files

Create a src/tests/ directory. Each file covers one test category.

import {category, expect, test} from '@datagrok-libraries/utils/src/test';


category('MyCategory', () => {
  test('should do something', async () => {
    expect(actualValue, expectedValue);
  });

  test('should handle edge case', async () => {
    // Test logic
    expect(result, true);
  });
});

Key test framework functions:

  • category(name, fn) - groups related tests
  • test(name, fn, options?) - defines a single test case
  • expect(actual, expected) - assertion that checks equality

Step 3: Register tests in package-test.ts

Import all test files in src/package-test.ts:

import './tests/my-category-tests';
import './tests/another-category-tests';

Step 4: Skip failing tests

Use the skipReason parameter to temporarily skip a test (always provide a reason such as a GitHub issue):

test('flaky test', async () => {
  expect(1, 11);
}, {skipReason: 'public#4256'});

Step 5: Add inline function tests

For simple functions, add test cases directly in the function annotation using the test parameter:

//name: square
//input: int x
//output: int y
//test: square(1) == 1
//test: square(2) == 4
//test: square(3) == 9
export function square(x: number): number {
  return x ** 2;
}

Supported parameter types for //test: annotations: int, double, bool, string, datetime, map. Types like dataframe, column_list, column, file, blob require an additional helper function call.

Step 6: Run tests

# Local testing with datagrok-tools
grok test

# Against a specific server
grok test --host dev

# With visible browser
grok test --gui

# Specific category or test
grok test --category "MyCategory"
grok test --test "should do something"

Tests can also be run from the Datagrok console or Test Manager in the platform UI.

Key points

  • Import category, test, expect from @datagrok-libraries/utils/src/test
  • Always register test files in src/package-test.ts
  • Use skipReason with a GitHub issue (e.g., public#4256) when skipping tests
  • The //test: annotation on functions is for simple input/output validation
  • For real examples, see the Chem package: public/packages/Chem/

Behavior

  1. Check if the package already has test infrastructure (src/package-test.ts, src/tests/)
  2. If not, set up test support using grok add tests
  3. Create test files with category and test blocks for the functionality the user wants to test
  4. Register the test files in src/package-test.ts
  5. Show the user how to run the tests

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Add support for a new curve data format in the Curves package converter system

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

datagrok-ai/public742026년 10월 19일 업데이트

Create info panels that appear in the context panel based on semantic types

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

datagrok-ai/public742026년 10월 19일 업데이트

Add a new single-objective optimization algorithm to the sci-comp library. Use when the user asks to implement a new optimizer (e.g. gradient descent, BFGS, simulated annealing, differential evolution).

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

datagrok-ai/public742026년 10월 19일 업데이트

Answer a "how do I …" question about the platform with a Gherkin scenario on @datagrok-libraries/bdd that is filmed into a how-to video (grok-bdd guide), so the answer is demonstrated, sent as a video plus numbered steps, and kept as a regression test; the same scenarios, filmed in help mode, are the GIFs of the help pages

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

datagrok-ai/public742026년 10월 19일 업데이트

Translate hand-written Playwright specs (or any existing UI tests) into Gherkin features on @datagrok-libraries/bdd, then prove the features test what they claim by backward-matching them against the originals with independent reviewers, and fix the gaps in the core, the library and the features

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

datagrok-ai/public742026년 10월 19일 업데이트

build-app

무료

Create a Datagrok application with routing, views, and data access

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

datagrok-ai/public742026년 10월 19일 업데이트

datagrok-ai의 스킬 모두 보기

이 스킬의 문제 신고