Skip to main content

golem-run-tests

Run tests for a golem Shiny application. Triggers on: - "run the tests" - "test my golem app" - "run devtools test" Do not trigger on: - when the user is not working inside a golem app

Ir para a instalação

Informações da origem

Repositório
ThinkR-open/golem
Última atividade na origem
15 de maio de 2026 às 10:05
Idioma detectado do SKILL.md
inglês
Estrelas
945
Forks
136

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
golem-run-tests
description
Run tests for a golem Shiny application. Triggers on: - "run the tests" - "test my golem app" - "run devtools test" Do not trigger on: - when the user is not working inside a golem app
# Run Tests You are helping a user run tests for their golem Shiny application. ## Running Tests Run the following command to execute all tests: ```r Rscript -e "devtools::test()" ``` ## Testing Structure Tests are organized in `tests/testthat/`: - Test files mirror R/ files: `test-<filename>.R` - Use `test_that("description", { ... })` blocks - Each test should be independent and hermetic ## Test Best Practices ### Hermetic Tests - Each `test_that()` block should set up its own data inline - Minimize top-level code outside `test_that()` blocks - Tests should pass in any order and in isolation ### Temporary State - Use `withr::local_*()` for temporary changes: - `withr::local_options()` - `withr::local_envvar()` - `withr::local_dir()` - Use `withr::local_tempfile()` or `withr::local_tempdir()` for temporary files - Never write directly to home or working directories ### Test Data - Store static test data in `tests/testthat/fixtures/` - Load with `readRDS(test_path("fixtures", "file.rds"))` - Keep fixtures organized and documented ### Testing Reactive Code - Test business logic outside of Shiny context when possible - Use testServer() for testing Shiny modules - Mock external dependencies when needed ## Assertions Use `testthat` functions: - `expect_true()`, `expect_false()` - `expect_equal()`, `expect_identical()` - `expect_error()` with `class = "error_class"` parameter - `expect_warning()`, `expect_message()` - `expect_silent()` ## Skipping Tests For slow or network-dependent tests: ```r test_that("slow test", { skip_on_cran() # test code }) ``` ## Test Coverage Aim for high code coverage: - Run `covr::report()` to see coverage - Test both happy path and error cases - Test boundary conditions - Test interaction between modules ## Command Line Options Run specific test files: ```r Rscript -e "devtools::test(filter = 'mod_name')" ``` Run tests with coverage: ```r Rscript -e "covr::report()" ```
Ver no GitHub