Testing framework for Lua embedded within Mediawiki.

The Pickle extension is a project to integrate continuous testing into an environment for continuous integration, like Wikipedia which embed Lua-scripts through the Scribunto extension. Within Wikipedia Lua is used to implement advanced templates with Lua modules, and the same solution is used on a lot of other websites and projects. Continuous integration is a core element of continuous deployment, which is very important for sites that must be up and running 24×7. Pickle testing is a kind of spec-style testing, which can be described as a variant of unit testing, or how to make the thing right. Later on, Pickle might be extended with step-style testing, or how to build the right thing. What to build, and how to build it, is not the only important thing. It is also utterly important to reduce the overall risk associated with running live Lua development within an active MediaWiki project.

Modules

Pickle Register functions for the testing framework.
util Utils to support Pickle.

Classes

Adapt Base class for Expect and Subject.
Bag Bag for managing values.
Case Baseclass for Describe, Context, and It.
Counter Counter for a continuous incrementing number.
Double Class for creating test doubles.
Extractor BaseClass for an extractor strategy.
Extractors Baseclass for extractor strategies.
Spy Baseclass for Spy.
Translator BaseClass for an translator strategy.
Translators Class for extractor strategies.
Render Baseclass for renders.
RenderAdapt Intermediate class for report renderer.
RenderAdaptCompact Final class for compact report renderer.
RenderAdaptFull Final class for full report renderer.
RenderAdaptVivid Final class for vivid report renderer.
RenderCase Intermediate class for case report renderer.
RenderCaseCompact Final class for case report renderer.
RenderCaseFull Final class for case report renderer.
RenderCaseVivid Final class for case report renderer.
Renders Class for render strategies.
Report Baseclass for reports.
ReportAdapt Subclass for adapt report.
ReportCase Subclass for reports.

Topics

activities.md
adapt.md
call-style.md
change-log.md
databases.md
dataflow.md
hello-world.md
lua-classes.md
musings.md
page-indicators.md
sources.md
spies.md
statistics.md
test-anything-protocol.md
test-case.md
test-doubles.md
testing.md
tracking-categories.md
translatewiki.md
vagrant.md
vscode-extensions.md
vscode-snippets.md

Examples

HelloWorld.pickle.nb.lua
HelloWorld.lua
HelloWorld.pickle.lua
generated by LDoc 1.4.6