本文整理汇总了PHP中phpunit_util::reset_all_data方法的典型用法代码示例。如果您正苦于以下问题:PHP phpunit_util::reset_all_data方法的具体用法?PHP phpunit_util::reset_all_data怎么用?PHP phpunit_util::reset_all_data使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类phpunit_util
的用法示例。
在下文中一共展示了phpunit_util::reset_all_data方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: runBare
/**
* Runs the bare test sequence and log any changes in global state or database.
* @return void
*/
public final function runBare()
{
global $DB;
try {
parent::runBare();
} catch (Exception $e) {
// cleanup after failed expectation
phpunit_util::reset_all_data();
throw $e;
}
if ($DB->is_transaction_started()) {
phpunit_util::reset_all_data();
throw new coding_exception('basic_testcase ' . $this->getName() . ' is not supposed to use database transactions!');
}
phpunit_util::reset_all_data(true);
}
示例2: runBare
/**
* Runs the bare test sequence and log any changes in global state or database.
* @return void
*/
public final function runBare()
{
global $DB;
try {
parent::runBare();
} catch (Exception $ex) {
$e = $ex;
} catch (Throwable $ex) {
// Engine errors in PHP7 throw exceptions of type Throwable (this "catch" will be ignored in PHP5).
$e = $ex;
}
if (isset($e)) {
// cleanup after failed expectation
phpunit_util::reset_all_data();
throw $e;
}
if ($DB->is_transaction_started()) {
phpunit_util::reset_all_data();
throw new coding_exception('basic_testcase ' . $this->getName() . ' is not supposed to use database transactions!');
}
phpunit_util::reset_all_data(true);
}
示例3: bootstrap_init
/**
* Called during bootstrap only!
* @internal
* @static
* @return void
*/
public static function bootstrap_init()
{
global $CFG, $SITE, $DB;
// backup the globals
self::$globals['_SERVER'] = $_SERVER;
self::$globals['CFG'] = clone $CFG;
self::$globals['SITE'] = clone $SITE;
self::$globals['DB'] = $DB;
// refresh data in all tables, clear caches, etc.
phpunit_util::reset_all_data();
}
示例4: tearDownAfterClass
public static function tearDownAfterClass()
{
if (self::$extradb) {
self::$extradb->dispose();
self::$extradb = null;
}
phpunit_util::reset_all_data(null);
parent::tearDownAfterClass();
}
示例5: resetAllData
/**
* Reset all database tables, restore global state and clear caches and optionally purge dataroot dir.
* @static
* @return void
*/
public static function resetAllData() {
phpunit_util::reset_all_data();
}
示例6: test_change_detection
public function test_change_detection()
{
global $DB, $CFG, $COURSE, $SITE, $USER;
$this->preventResetByRollback();
phpunit_util::reset_all_data(true);
// Database change.
$this->assertEquals(1, $DB->get_field('user', 'confirmed', array('id' => 2)));
$DB->set_field('user', 'confirmed', 0, array('id' => 2));
try {
phpunit_util::reset_all_data(true);
} catch (Exception $e) {
$this->assertInstanceOf('PHPUnit_Framework_Error_Warning', $e);
}
$this->assertEquals(1, $DB->get_field('user', 'confirmed', array('id' => 2)));
// Config change.
$CFG->xx = 'yy';
unset($CFG->admin);
$CFG->rolesactive = 0;
try {
phpunit_util::reset_all_data(true);
} catch (Exception $e) {
$this->assertInstanceOf('PHPUnit_Framework_Error_Warning', $e);
$this->assertContains('xx', $e->getMessage());
$this->assertContains('admin', $e->getMessage());
$this->assertContains('rolesactive', $e->getMessage());
}
$this->assertFalse(isset($CFG->xx));
$this->assertTrue(isset($CFG->admin));
$this->assertEquals(1, $CFG->rolesactive);
// _GET change.
$_GET['__somethingthatwillnotnormallybepresent__'] = 'yy';
phpunit_util::reset_all_data(true);
$this->assertEquals(array(), $_GET);
// _POST change.
$_POST['__somethingthatwillnotnormallybepresent2__'] = 'yy';
phpunit_util::reset_all_data(true);
$this->assertEquals(array(), $_POST);
// _FILES change.
$_FILES['__somethingthatwillnotnormallybepresent3__'] = 'yy';
phpunit_util::reset_all_data(true);
$this->assertEquals(array(), $_FILES);
// _REQUEST change.
$_REQUEST['__somethingthatwillnotnormallybepresent4__'] = 'yy';
phpunit_util::reset_all_data(true);
$this->assertEquals(array(), $_REQUEST);
// Silent changes.
$_SERVER['xx'] = 'yy';
phpunit_util::reset_all_data(true);
$this->assertFalse(isset($_SERVER['xx']));
// COURSE change.
$SITE->id = 10;
$COURSE = new stdClass();
$COURSE->id = 7;
try {
phpunit_util::reset_all_data(true);
} catch (Exception $e) {
$this->assertInstanceOf('PHPUnit_Framework_Error_Warning', $e);
$this->assertEquals(1, $SITE->id);
$this->assertSame($SITE, $COURSE);
$this->assertSame($SITE, $COURSE);
}
// USER change.
$this->setUser(2);
try {
phpunit_util::reset_all_data(true);
} catch (Exception $e) {
$this->assertInstanceOf('PHPUnit_Framework_Error_Warning', $e);
$this->assertEquals(0, $USER->id);
}
}
示例7: resetAllData
/**
* Reset all database tables, restore global state and clear caches and optionally purge dataroot dir.
*
* @param bool $detectchanges
* true - changes in global state and database are reported as errors
* false - no errors reported
* null - only critical problems are reported as errors
* @return void
*/
public static function resetAllData($detectchanges = false) {
phpunit_util::reset_all_data($detectchanges);
}
示例8: test_change_detection
public function test_change_detection()
{
global $DB, $CFG, $COURSE, $SITE, $USER;
$this->preventResetByRollback();
phpunit_util::reset_all_data(true);
// database change
$this->assertEquals(1, $DB->get_field('user', 'confirmed', array('id' => 2)));
$DB->set_field('user', 'confirmed', 0, array('id' => 2));
try {
phpunit_util::reset_all_data(true);
} catch (Exception $e) {
$this->assertInstanceOf('PHPUnit_Framework_Error_Warning', $e);
}
$this->assertEquals(1, $DB->get_field('user', 'confirmed', array('id' => 2)));
// config change
$CFG->xx = 'yy';
unset($CFG->admin);
$CFG->rolesactive = 0;
try {
phpunit_util::reset_all_data(true);
} catch (Exception $e) {
$this->assertInstanceOf('PHPUnit_Framework_Error_Warning', $e);
$this->assertContains('xx', $e->getMessage());
$this->assertContains('admin', $e->getMessage());
$this->assertContains('rolesactive', $e->getMessage());
}
$this->assertFalse(isset($CFG->xx));
$this->assertTrue(isset($CFG->admin));
$this->assertEquals(1, $CFG->rolesactive);
//silent changes
$_SERVER['xx'] = 'yy';
phpunit_util::reset_all_data(true);
$this->assertFalse(isset($_SERVER['xx']));
// COURSE
$SITE->id = 10;
$COURSE = new stdClass();
$COURSE->id = 7;
try {
phpunit_util::reset_all_data(true);
} catch (Exception $e) {
$this->assertInstanceOf('PHPUnit_Framework_Error_Warning', $e);
$this->assertEquals(1, $SITE->id);
$this->assertSame($SITE, $COURSE);
$this->assertSame($SITE, $COURSE);
}
// USER change
$this->setUser(2);
try {
phpunit_util::reset_all_data(true);
} catch (Exception $e) {
$this->assertInstanceOf('PHPUnit_Framework_Error_Warning', $e);
$this->assertEquals(0, $USER->id);
}
}
示例9: define
$CFG->jsrev = 1;
// load test case stub classes and other stuff
require_once "{$CFG->dirroot}/lib/phpunit/lib.php";
// finish moodle init
define('ABORT_AFTER_CONFIG_CANCEL', true);
require "{$CFG->dirroot}/lib/setup.php";
raise_memory_limit(MEMORY_EXTRA);
if (defined('PHPUNIT_CLI_UTIL')) {
// all other tests are done in the CLI scripts...
return;
}
if (!phpunit_util::is_testing_ready()) {
phpunit_bootstrap_error('Database is not initialised to run unit tests, please use "php admin/tool/phpunit/cli/util.php --install"', 132);
}
// refresh data in all tables, clear caches, etc.
phpunit_util::reset_all_data();
// store fresh globals
phpunit_util::init_globals();
//=========================================================
/**
* Print error and stop execution
* @param string $text An error message to display
* @param int $errorcode The error code (see docblock for detailed list)
* @return void stops code execution with error code
*/
function phpunit_bootstrap_error($text, $errorcode = 1)
{
fwrite(STDERR, $text . "\n");
exit($errorcode);
}
/**
示例10: test_locale_reset
public function test_locale_reset()
{
global $CFG;
$this->resetAfterTest();
// If this fails \phpunit_util::reset_all_data() must be updated.
$this->assertSame('en_AU.UTF-8', get_string('locale', 'langconfig'));
$this->assertSame('English_Australia.1252', get_string('localewin', 'langconfig'));
if ($CFG->ostype === 'WINDOWS') {
$this->assertSame('English_Australia.1252', setlocale(LC_TIME, 0));
setlocale(LC_TIME, 'English_USA.1252');
} else {
$this->assertSame('en_AU.UTF-8', setlocale(LC_TIME, 0));
setlocale(LC_TIME, 'en_US.UTF-8');
}
try {
phpunit_util::reset_all_data(true);
} catch (Exception $e) {
$this->assertInstanceOf('PHPUnit_Framework_Error_Warning', $e);
}
if ($CFG->ostype === 'WINDOWS') {
$this->assertSame('English_Australia.1252', setlocale(LC_TIME, 0));
} else {
$this->assertSame('en_AU.UTF-8', setlocale(LC_TIME, 0));
}
if ($CFG->ostype === 'WINDOWS') {
$this->assertSame('English_Australia.1252', setlocale(LC_TIME, 0));
setlocale(LC_TIME, 'English_USA.1252');
} else {
$this->assertSame('en_AU.UTF-8', setlocale(LC_TIME, 0));
setlocale(LC_TIME, 'en_US.UTF-8');
}
phpunit_util::reset_all_data(false);
if ($CFG->ostype === 'WINDOWS') {
$this->assertSame('English_Australia.1252', setlocale(LC_TIME, 0));
} else {
$this->assertSame('en_AU.UTF-8', setlocale(LC_TIME, 0));
}
}
示例11: runBare
/**
* Runs the bare test sequence.
* @return void
*/
public function runBare()
{
global $CFG, $USER, $DB;
$dbwrites = $DB->perf_get_writes();
parent::runBare();
$oldcfg = phpunit_util::get_global_backup('CFG');
foreach ($CFG as $k => $v) {
if (!property_exists($oldcfg, $k)) {
unset($CFG->{$k});
error_log('warning: unexpected new $CFG->' . $k . ' value in testcase: ' . get_class($this) . '->' . $this->getName(true));
} else {
if ($oldcfg->{$k} !== $CFG->{$k}) {
$CFG->{$k} = $oldcfg->{$k};
error_log('warning: unexpected change of $CFG->' . $k . ' value in testcase: ' . get_class($this) . '->' . $this->getName(true));
}
}
unset($oldcfg->{$k});
}
if ($oldcfg) {
foreach ($oldcfg as $k => $v) {
$CFG->{$k} = $v;
error_log('warning: unexpected removal of $CFG->' . $k . ' in testcase: ' . get_class($this) . '->' . $this->getName(true));
}
}
if ($USER->id != 0) {
error_log('warning: unexpected change of $USER in testcase: ' . get_class($this) . '->' . $this->getName(true));
$USER = new stdClass();
$USER->id = 0;
}
if ($dbwrites != $DB->perf_get_writes()) {
//TODO: find out what was changed exactly
error_log('warning: unexpected database modification, resetting DB state in testcase: ' . get_class($this) . '->' . $this->getName(true));
phpunit_util::reset_all_data();
}
//TODO: somehow find out if there are changes in dataroot
}