Modulo:UnitTests/man
Questa è la pagina di documentazione per Modulo:UnitTests
Modulo Lua per la gestione di unit test sugli script.
UnitTests fornisce uno strumento che può essere usati da altri script per mezzo di require. Vedi Wikipedia:Lua#Unit_testing per i dettagli. Di seguito un esempio da Module:HelloWorld/testcases:
-- Unit tests for [[Module:HelloWorld]]. Cliccate sulla pagina di discussione per eseguire il test.
local p = require('Module:UnitTests')
function p:test_hello()
self:preprocess_equals('{{#invoke:HelloWorld | hello}}', 'Hello, world!')
end
return p
La pagina di discussione Module talk:HelloWorld/testcases lo esegue con il codice {{#invoke: HelloWorld/testcases | run_tests}}
. I metodi di test come test_hello sopra devono iniziare con "test".
Metodi
run_tests
run_tests(differs_at)
: Esegue tutti i test. Se si specifica "differs_at=1" sarà aggiunta una colonan che mostra la prima posizione dove il un carattere del risultato atteso differisce dal risultato ottenuto. Normalmente usato sulla pagina di discussioni di un unit tests.
{{#invoke:HelloWorld/testcases|run_tests}}
preprocess_equals
preprocess_equals(text, expected)
: Fornisce un pezzo di testo wiki da preprocessare e un risultato atteso. Script e template possono essere invocati nella stessa maniera in cui sarebbero invocati in una voce.
self:preprocess_equals('{{#invoke:HelloWord | hello}}', 'Hello, world!')