6.8 KiB
HEAD
Improvements:
Skip(message)can be used to skip the current test.- Added
extensions/table- a Ginkgo DSL for Table Driven Tests
Bug Fixes:
- Ginkgo tests now fail when you
panic(nil)(#167)
1.2.0 5/31/2015
Improvements
ginkgo -coverpkgcalls down togo test -coverpkg(#160)ginkgo -afterSuiteHook COMMANDinvokes the passed-inCOMMANDafter a test suite completes (#152)- Relaxed requirement for Go 1.4+.
ginkgonow works with Go v1.3+ (#166)
1.2.0-beta
Ginkgo now requires Go 1.4+
Improvements:
-
Call reporters in reverse order when announcing spec completion -- allows custom reporters to emit output before the default reporter does.
-
Improved focus behavior. Now, this:
FDescribe("Some describe", func() { It("A", func() {}) FIt("B", func() {}) })will run
Bbut notA. This tends to be a common usage pattern when in the thick of writing and debugging tests. -
When
SIGINTis received, Ginkgo will emit the contents of theGinkgoWriterbefore running theAfterSuite. Useful for debugging stuck tests. -
When
--progressis set, Ginkgo will write test progress (in particular, Ginkgo will say when it is about to run a BeforeEach, AfterEach, It, etc...) to theGinkgoWriter. This is useful for debugging stuck tests and tests that generate many logs. -
Improved output when an error occurs in a setup or teardown block.
-
When
--dryRunis set, Ginkgo will walk the spec tree and emit to its reporter without actually running anything. Best paired with-vto understand which specs will run in which order. -
Add
Byto help document longIts.Bysimply writes to theGinkgoWriter. -
Add support for precompiled tests:
ginkgo build <path-to-package>will now compile the package, producing a file namedpackage.test- The compiled
package.testfile can be run directly. This runs the tests in series. - To run precompiled tests in parallel, you can run:
ginkgo -p package.test
-
Support
bootstrapping andgenerateing Agouti specs. -
ginkgo generateandginkgo bootstrapnow honor the package name already defined in a given directory -
The
ginkgoCLI ignoresSIGQUIT. Prevents its stack dump from interlacing with the underlying test suite's stack dump. -
The
ginkgoCLI now compiles tests into a temporary directory instead of the package directory. This necessitates upgrading to Go v1.4+. -
ginkgo -notifynow works on Linux
Bug Fixes:
- If --skipPackages is used and all packages are skipped, Ginkgo should exit 0.
- Fix tempfile leak when running in parallel
- Fix incorrect failure message when a panic occurs during a parallel test run
- Fixed an issue where a pending test within a focused context (or a focused test within a pending context) would skip all other tests.
- Be more consistent about handling SIGTERM as well as SIGINT
- When interupted while concurrently compiling test suites in the background, Ginkgo now cleans up the compiled artifacts.
- Fixed a long standing bug where
ginkgo -pwould hang if a process spawned by one of the Ginkgo parallel nodes does not exit. (Hooray!)
1.1.0 (8/2/2014)
No changes, just dropping the beta.
1.1.0-beta (7/22/2014)
New Features:
ginkgo watchnow monitors packages and their dependencies for changes. The depth of the dependency tree can be modified with the-depthflag.- Test suites with a programmatic focus (
FIt,FDescribe, etc...) exit with non-zero status code, evne when they pass. This allows CI systems to detect accidental commits of focused test suites. ginkgo -pruns the testsuite in parallel with an auto-detected number of nodes.ginkgo -tags=TAG_LISTpasses a list of tags down to thego buildcommand.ginkgo --failFastaborts the test suite after the first failure.ginkgo generate file_1 file_2can take multiple file arguments.- Ginkgo now summarizes any spec failures that occured at the end of the test run.
ginkgo --randomizeSuiteswill run tests suites in random order using the generated/passed-in seed.
Improvements:
ginkgo -skipPackagenow takes a comma-separated list of strings. If the relative path to a package matches one of the entries in the comma-separated list, that package is skipped.ginkgo --untilItFailsno longer recompiles between attempts.- Ginkgo now panics when a runnable node (
It,BeforeEach,JustBeforeEach,AfterEach,Measure) is nested within another runnable node. This is always a mistake. Any test suites that panic because of this change should be fixed.
Bug Fixes:
ginkgo boostrapandginkgo generateno longer fail when dealing withhyphen-separated-packages.- parallel specs are now better distributed across nodes - fixed a crashing bug where (for example) distributing 11 tests across 7 nodes would panic
1.0.0 (5/24/2014)
New Features:
- Add
GinkgoParallelNode()- shorthand forconfig.GinkgoConfig.ParallelNode
Improvements:
- When compilation fails, the compilation output is rewritten to present a correct relative path. Allows ⌘-clicking in iTerm open the file in your text editor.
--untilItFailsandginkgo watchnow generate new random seeds between test runs, unless a particular random seed is specified.
Bug Fixes:
-covernow generates a correctly combined coverprofile when running with in parallel with multiple-nodes.- Print out the contents of the
GinkgoWriterwhenBeforeSuiteorAfterSuitefail. - Fix all remaining race conditions in Ginkgo's test suite.
1.0.0-beta (4/14/2014)
Breaking changes:
thirdparty/gomocktestreporteris gone. UseGinkgoT()instead- Modified the Reporter interface
watchis now a subcommand, not a flag.
DSL changes:
BeforeSuiteandAfterSuitefor setting up and tearing down test suites.AfterSuiteis triggered on interrupt (^C) as well as exit.SynchronizedBeforeSuiteandSynchronizedAfterSuitefor setting up and tearing down singleton resources across parallel nodes.
CLI changes:
watchis now a subcommand, not a flag--nodotflag can be passed toginkgo generateandginkgo bootstrapto avoid dot imports. This explicitly imports all exported identifiers in Ginkgo and Gomega. Refreshing this list can be done by runningginkgo nodot- Additional arguments can be passed to specs. Pass them after the
--separator --skipPackageflag takes a regexp and ignores any packages with package names passing said regexp.--traceflag prints out full stack traces when errors occur, not just the line at which the error occurs.
Misc:
- Start using semantic versioning
- Start maintaining changelog
Major refactor:
- Pull out Ginkgo's internal to
internal - Rename
exampleeverywhere tospec - Much more!