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 usato da altri script per mezzo di require. Vedi Wikipedia:Lua#Unit_testing per i dettagli. Di seguito un esempio da Modulo:HelloWorld/test:

-- 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 Discussioni modulo:HelloWorld/test lo esegue con il codice {{#invoke: HelloWorld/testcases | run_tests}}. I metodi di test come test_hello sopra devono iniziare con "test".

Metodi modifica

run_tests modifica

  • run_tests(differs_at): Esegue tutti i test. Se si specifica "differs_at=1" sarà aggiunta una colonna che mostra la prima posizione dove un carattere del risultato atteso differisce dal risultato ottenuto. Normalmente usato sulla pagina di discussioni di un unit test.
    {{#invoke:HelloWorld/testcases|run_tests}}

preprocess_equals modifica

  • preprocess_equals(text, expected): Fornisce una porzione 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!')