gpt4 book ai didi

unit-testing - CakePHP单元测试 fixture 名称约定约定?

转载 作者:行者123 更新时间:2023-12-04 05:21:20 25 4
gpt4 key购买 nike

我一直把头撞在墙上,试图弄清楚为什么我的灯具无法正确加载。当我尝试运行测试时,将呈现我的布局。如果我注释掉灯具,则测试可以正常运行。我已经检查了100次,但似乎看不出有什么问题。

这是我的Videosview.test.php

App::import('Model','Videosview');

class VideosviewTest extends Videosview {
var $name = 'Videosview';
//var $useDbConfig = 'test_suite';
}

class VideosviewTestCase extends CakeTestCase {
var $fixtures = array( 'app.videosview' );

function testIncrementTimer() {
$this->autoLayout = $this->autoRender = false;

$this->Videosview =& ClassRegistry::init('Videosview');
//$video_view = $this->find('first');
$result = $this->Videosview->increment_timer($video_view['Videosview']['video_id'],$video_view['Videosview']['user_id'],1);
$this->assertTrue(true);
}
}


这是我的视频view_fixture.php

class VideosviewFixture extends CakeTestFixture {
var $name = 'Videosview';

var $import = array('model' => 'Videosview', 'records' => true);
}

最佳答案

那里有很多奇怪的代码,看来您不了解如何使用测试。问题并非来自夹具的导入。

$ this-> assertTrue(true)将始终返回true。无需声明VideosviewTest。

由于我不知道您的crement_timer方法应该做什么,因此我无法为其编写测试,但让我们假设它返回通过+ 1的值:

function increment_timer($id = null){
return $id++;
}


您的测试用例应该是

App::import('Model', 'Videosview');

class VideosviewTestCase extends CakeTestCase {
var $fixtures = array('app.videosview');

function startTest() {
$this->Videosview =& ClassRegistry::init('Videosview');
}

function endTest() {
unset($this->Videosview);
ClassRegistry::flush();
}

function testIncrementTimer() {
$input = 1;

// let's test increment_timer function by asserting true that return value is $input + 1, green bar
$this->assertTrue( $this->Videosview->increment_timer($input) == ($input+1), 'Should return 2' );
// let's test increment_timer function by asserting false that return value is $input + 2, green bar
$this->assertFalse( $this->Videosview->increment_timer($input) == ($input+2), 'Should not return 3' );
//the following returns an error as return value is not equal to $input + 2, Red bar
$this->assertTrue( $this->Videosview->increment_timer($input) == ($input+2), 'Should return 2' );
}
}


这是您应该得到的,并且期望

关于unit-testing - CakePHP单元测试 fixture 名称约定约定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7408936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com