您可以发布有关如何将PHPUnit与NetBeans一起使用的示例吗?
发布时间:2020-12-13 17:09:05 所属栏目:PHP教程 来源:网络整理
导读:我是 PHPUnit的新手,我想将它与Netbeans一起使用.我已经知道PHPUnit有自己的文档,但是没有太多关于如何在Netbeans中使用它的文档.首先看一些有用的例子会很棒.我这样学得更好. 所以从Netbeans站点他们给出了这个例子然后你会右键单击File-创建PHPUnit测试以
我是
PHPUnit的新手,我想将它与Netbeans一起使用.我已经知道PHPUnit有自己的文档,但是没有太多关于如何在Netbeans中使用它的文档.首先看一些有用的例子会很棒.我这样学得更好.
所以从Netbeans站点他们给出了这个例子然后你会右键单击File->创建PHPUnit测试以自动生成PHPUnit类: class Calculator{ /** * @assert (0,0) == 0 * @assert (0,1) == 1 * @assert (1,0) == 1 * @assert (1,1) == 2 * @assert (1,2) == 4 */ public function add($a,$b){ return $a + $b; } } 但是,我正在阅读另一本PHP书,并在其中以这种方式实现 class Session { public function __construct($one,$two){} public function login(){} public function isLoggedIn() {return null;} } require_once("PHPUnit/Autoload.php"); class TestSession extends PHPUnit_Framework_TestCase { private $_session; function setUp() { $dsn = array( 'phptype' => "pgsql",'hostspec' => "localhost",'database' => "widgetworld",'username' => "wuser",'password' => "foobar" ); $this->_session = new Session($dsn,true); } function testValidLogin() { $this->_session->login("ed","12345"); $this->assertEquals(true,$this->_session->isLoggedIn()); } function testInvalidLogin() { $this->_session->login("ed","54321"); // fail $this->assertEquals(false,$this->_session->isLoggedIn()); } } $suite = new PHPUnit_Framework_TestSuite; $suite->addTest(new TestSession("testValidLogin")); $suite->addTest(new TestSession("testInvalidLogin")); $testRunner = new PHPUnit_TextUI_TestRunner(); $testRunner->run( $suite ); 你可以通过转换上面的例子来帮助我理解如何在Netbeans中进行PHPUnit测试吗?谢谢 我不知道但是在Netbeans中会做这样的事情是正确的吗?: class Session { public function __construct($one,$two) {} public function login() { /** * @assert ("ed","12345")->isLoggedIn() == true */ /** * @assert ("ed","54321")->isLoggedIn() == false */ } public function isLoggedIn() {return null;} } 解决方法
我从未在NetBeans中使用@assert,但看起来它们只是告知测试用例生成器如何编写测试.最后,NetBeans为该类创建了一个测试用例,该测试用例类似于上面的TestSession(尽管它将被称为SessionTest).
如果使用@assert定义测试数据,请记住每次更改测试数据时都需要重新生成测试,这将覆盖您在执行测试后对测试用例所做的任何更改.我建议手动编写测试用例,因为在编写测试会话时不能使用@assert.它被设计为编写类似“给定参数X,Y和Z,返回值应为R”的测试.您无法使用它来测试方法的副作用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |