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
Examples
HelloWorld.pickle.nb.lua | |
HelloWorld.lua | |
HelloWorld.pickle.lua |