0308261de6
Running the tests on the same database as the one used for dev has some drawbacks: - Everybody has different data, so we cannot make any assumptions about data in tests and it can make tests fail for non-obvious reasons. - Tests have to clean up every change to the database using SQL transactions, so we cannot write testable code that use transactions (AFAIK) - Transactions in tests happen to be committed sometimes, resulting in garbage data added to the dev database This patch provides a .proverc file that will load t/lib/Bootstrap.pm before the tests are run. t/lib/Bootstrap.pm is responsible for recreating a fresh database and telling the test scripts to use it. To use it, just run prove normally from the root directory of Koha. By default, the database is 'koha_test' and it's created using MARC21 SQL files, it can be changed by running: prove --norc \ --Mt::lib::Bootstrap=database,koha_test,marcflavour,UNIMARC Test plan: 1. Apply bug 19185 which will also apply these patches 2. In the DBMS run `select count(*) from koha_kohadev.borrowers;` (adapt if your usual koha DB isn't koha_kohadev) 3. Run the test plan of bug 19185 and during execution of the installation test, pay attention to the following: 4. List the databases in the DBMS (show databases;) to ensure that koha_test is created 5. After the test has run, the koha_test database should not be here anymore. 6. In the DBMS run `select count(*) from koha_kohadev.borrowers;` 7. That was to verify that the database you use usually was untouched. The counts should be the same. Signed-off-by: Jon Knight <J.P.Knight@lboro.ac.uk> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Bouzid Fergani <bouzid.fergani@inlibro.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> |
||
---|---|---|
.. | ||
Acquisition | ||
Biblio | ||
Budgets | ||
Circulation | ||
data | ||
db_dependent | ||
edi_testfiles | ||
etc | ||
External | ||
Koha | ||
lib | ||
Members | ||
Number | ||
Search | ||
Serials | ||
SIP | ||
Test | ||
00-checkdatabase-version.t | ||
00-deprecated.t | ||
00-load.t | ||
00-merge-conflict-markers.t | ||
00-testcritic.t | ||
00-valid-xml.t | ||
Auth.t | ||
Auth_with_shibboleth.t | ||
AuthoritiesMarc_MARC21.t | ||
AuthoritiesMarc_UNIMARC.t | ||
Barcodes_annual.t | ||
Barcodes_EAN13.t | ||
Barcodes_hbyymmincr.t | ||
Barcodes_incremental.t | ||
Biblio.t | ||
Biblio2.t | ||
Budgets.t | ||
Calendar.t | ||
Charset.t | ||
Circulation_barcodedecode.t | ||
ClassSortRoutine.t | ||
ClassSortRoutine_Dewey.t | ||
ClassSortRoutine_Generic.t | ||
ClassSortRoutine_LCC.t | ||
ClassSource.t | ||
Context.t | ||
Contract.t | ||
Creators.t | ||
DateUtils.t | ||
dummy.t | ||
Edifact.t | ||
EdiInvoice.t | ||
Ediorder.t | ||
Ediordrsp.t | ||
EdiTransport.t | ||
Form_MessagingPreferences.t | ||
HtmlTags.t | ||
ImportBatch.t | ||
Installer_PerlModules.t | ||
Installer_pm.t | ||
ItemCirculationAlertPreference.t | ||
Koha.t | ||
Koha_MetadataRecord.t | ||
Koha_SearchEngine_Elasticsearch_Browse.t | ||
Koha_Template_Plugin_Cache.t | ||
Koha_Template_Plugin_HtmlId.t | ||
Koha_Template_Plugin_Koha.t | ||
Koha_Util_FrameworkPlugin.t | ||
Koha_Util_MARC.t | ||
Labels.t | ||
Labels_split_ccn.t | ||
Labels_split_ddcn.t | ||
Labels_split_lccn.t | ||
Labels_split_Regex.t | ||
Languages.t | ||
Letters.t | ||
Logger.t | ||
Makefile.t | ||
Matcher.t | ||
Members_Messaging.t | ||
OpenLibrarySearch.t | ||
Output.t | ||
Output_JSONStream.t | ||
Patron.t | ||
Patroncards.t | ||
Patroncards_Batch.t | ||
Patroncards_Lib.t | ||
Patroncards_Patroncard.t | ||
Patroncards_Profile.t | ||
Patroncards_Template.t | ||
Prices.t | ||
RecordProcessor.t | ||
Ris.t | ||
Scheduler.t | ||
Scrubber.t | ||
Search.t | ||
Search_PazPar2.t | ||
SimpleMARC.t | ||
SMS.t | ||
SocialData.t | ||
Stats.t | ||
SuggestionEngine.t | ||
SuggestionEngine_AuthorityFile.t | ||
template_filters.t | ||
timezones.t | ||
TmplToken.t | ||
Token.t | ||
XSLT.t |