Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>NemoNew to Visual Studio Code? Get it now.
Nemo

Nemo

yishangru.zhuoke

|
244 installs
| (1) | Free
Extension for Nemo BDD test framework
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Nemo Extension

In short words, Nemo is Another BDD Test Framework. We enhance the user experience when using the original Go testing.

This extension is bundled with Nemo. We add quick running or debug entrances allowing users to examine a single suite or case. Also, some warning information will show when some misusages of Nemo are detected. The configurations for the Go VSCode extension are fully supported.

Nemo Features

  • support suite, case semantics for BDD testing
  • informative testing report and summary
  • code coverage (up to function level)
  • only and skip semantics

A simple demo for nemo:

// import nemo with .
import (
    "testing"

    "github.com/stretchr/testify/assert"
    . "gitlab.alibaba-inc.com/distack/nemo"
)

// the main entry, this is required
func TestMain(m *testing.M) {
  s := Nemo(m)
  s.Run()
}

// normal test case with Nemo enhanced
func TestExample(t *testing.T) {
    s := Nemo(t)
    s.Before(func() {})
    s.After(func() {})
    s.BeforeEach(func() {})
    s.AfterEach(func() {})

    // simple case
    s.Case("should work fine when args is empty", func() {

    })

    // use nemo T (nemo.T) with assert
    s.Case("use nemo t with pretty output", func(t *T) {
        // fail with nemo T
        assert.True(t, false, "this will fail")
    })

    // inner suite, support nesting suites
    s.Suite("SubSuite", func(s *S) {
        s.Before(func() {
            // do something ...
        })

        s.Case("case inside subsuite", func() {

        })
    })

    // use original t
    s.Case("should error when args is more then 2", func(t *testing.T) {

    })

    // skip a case
    s.Case("-skip this case", func() {})

    // skip a suite (also children suites and test cases inside)
    s.Suite("-skip this suite", func(s *S) {
        s.Suite("skip since parent skipped", func(s *S) {})

        s.Case("skip since suite skipped", func(s *S) {})
    })

    // only run a case (merge if there are other 'only's)
    s.Case("+only this case", func() {})

    // only run a suite (merge if there are other 'only's)
    s.Suite("+Only Suite", func(s *S) {
        s.Case("test in only suite", func() {})
    })
}
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft