php-doc-en/reference/mongo/testing.xml
2012-11-29 13:27:04 +00:00

103 lines
3.4 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<chapter xml:id="mongo.testing" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Running the Driver's Tests</title>
<para>
The PECL package does not come with the tests, but they are available at
<link xlink:href="&url.mongodb.github;">Github</link>. There are two types of
tests: the .phpt tests and the PHPUnit tests. The PHPUnit tests are being
replaced by .phpt tests.
</para>
<section>
<title>.phpt Tests</title>
<para>
.phpt tests are the standard way of testing PHP extensions. After compiling
the MongoDB driver with "make" you can then issue "make test" to run the
tests. These tests require MongoDB to be working, and hence, you need to
configure the test suite itself. You do that by editting the
<literal>tests/mongo-test-cfg.inc</literal> file.
</para>
<para>
There is more information about this in the contributing guidelines on
<link xlink:href="https://github.com/mongodb/mongo-php-driver/blob/master/CONTRIBUTING.md#running-the-tests">GitHub</link>.
</para>
</section>
<section>
<title>PHPUnit Tests</title>
<para>
To run the tests, you must download the driver from Github (the tests are in
the <literal>tests/</literal> directory). You'll also need
<link xlink:href="&url.phpunit.install;">PHPUnit</link> to run the tests.
PHPUnit can be installed via PEAR (although you should look at the
installation instructions, it requires a couple of prerequisites).
</para>
<para>
Some tests expect warnings or errors, so you must set
<literal>error_reporting</literal> in <literal>php.ini</literal> to
<literal>E_STRICT | E_ALL</literal> for these tests to pass. If you do
not, you will get some failures that say the test was expecting a warning or
error.
</para>
<para>
To run the tests, make sure that there is a MongoDB server running locally on
port 27017. Before reporting errors, please try running the tests against the
latest development version of MongoDB: often there are tests for features that
aren't yet in the stable release.
</para>
<para>
The test suite uses the "phpunit" database. If you are using a database
called "phpunit" in your application, make sure point MongoDB at a different
data directory before running the tests.
</para>
<para>
Make sure you're in the main directory of the driver source you
downloaded from Github. Run:
</para>
<programlisting>
<![CDATA[
$ phpunit tests/MongoSuite.php
]]>
</programlisting>
</section>
<section>
<title>Reporting Errors</title>
<para>
Please report any failures or errors in the
<link xlink:href="&url.mongodb.jira;">bugtracker</link>. There may be skipped
tests, these are normal and can be ignored.
</para>
<para>
New tests are always welcome! Please feel free to contribute new tests of any
type testing any functionality.
</para>
</section>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->