• 2 Vote(s) - 4.5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
ci-phpunit-test for CodeIgniter 3.0

#41
(10-19-2015, 06:03 AM)iamthwee Wrote: Sorry it was supposed to be ka-e-n-gi  = kenjis but to be honest I'm not sure how names translate using hirigana Big Grin

Anyway on topic, look forward to the release, did you guys decide on the cover?

My real name is Kenji = ke-n-ji.

We did not decide the cover yet. We are still looking for a good photo for the book.
Do you want to write tests for your apps? Our book, CodeIgniter Testing Guide would help you.
Reply

#42
v0.9.0 was released.
https://github.com/kenjis/ci-phpunit-test/releases

* `$this->request->addCallable()` to add callable.
* Autoloading classes in `application/modules` folder.
* You can configure search paths for autoloader.
Do you want to write tests for your apps? Our book, CodeIgniter Testing Guide would help you.
Reply

#43
I'm planning to merge the PR: https://github.com/kenjis/ci-phpunit-test/pull/74

It changes $this->getDouble() method.

If you have any trouble with your existing test cases when you apply the patch,
please let me know.
Do you want to write tests for your apps? Our book, CodeIgniter Testing Guide would help you.
Reply

#44
(11-19-2015, 07:15 PM)kenjis Wrote: I'm planning to merge the PR: https://github.com/kenjis/ci-phpunit-test/pull/74

It changes $this->getDouble() method.

If you have any trouble with your existing test cases when you apply the patch,
please let me know.

The PR initially only contains the change of $this->getDouble().
But after all, I got to the conclusion that the reset_instance() implementation was wrong.
So I added the fix.

I've just merged the PR, so now 1.0.x@dev (dev-master) includes BC break changes.

See https://github.com/kenjis/ci-phpunit-tes...md#changed
for details.
Do you want to write tests for your apps? Our book, CodeIgniter Testing Guide would help you.
Reply

#45
I've just released v0.10.0: https://github.com/kenjis/ci-phpunit-test/releases

This includes BC break according to bug fix.

* Now reset_instance() removes the existing CodeIgniter instance.
* Now $this->getDouble() does not call the original constructor by default.

The changes may break your test code. If so, please fix or update your tests.
Do you want to write tests for your apps? Our book, CodeIgniter Testing Guide would help you.
Reply

#46
Here is the current specification of ci-phpunit-test for CodeIgniter Hooks:
https://github.com/kenjis/ci-phpunit-tes...s.md#hooks

If anyone has any opinion about it, please post to https://github.com/kenjis/ci-phpunit-test/issues/20

I think the current specification is good enough. So I'm planning to close the issue.
Do you want to write tests for your apps? Our book, CodeIgniter Testing Guide would help you.
Reply

#47
Hi guys!

Today ci-phpunit-test got 90 stars on GitHub.
If you like it and don't mind, please star it on https://github.com/kenjis/ci-phpunit-test

[Image: attachment.php?aid=435]


Attached Files Thumbnail(s)
   
Do you want to write tests for your apps? Our book, CodeIgniter Testing Guide would help you.
Reply

#48
Hi, I'm trying to use your this library, it works fine with controllers, I have a problem with model testing.

As instructed in your guide, I extracted your library into application/tests
I tried with my own model test, and then created test for your Category_model, also, the model with a proper method is created, as well as table in database.
Your CategorySeeder successfully inserted data into database.
Category_model_test.php is copy/paste as from example:
PHP Code:
class Category_model_test extends TestCase
{
    public static function 
setUpBeforeClass()
    {
        
parent::setUpBeforeClass();
        
        
$CI =& get_instance();
        
$CI->load->library('Seeder');
        
$CI->seeder->call('CategorySeeder');
    }
    public function 
setUp()
    {
        
$this->resetInstance();
        
$this->CI->load->model('Category_model');
        
$this->obj $this->CI->Category_model;
    }
    public function 
test_get_category_list()
    {
        
$expected = [
            
=> 'Book',
            
=> 'CD',
            
=> 'DVD',
        ];
        
$list $this->obj->get_category_list();
        foreach (
$list as $category) {
            
$this->assertEquals($expected[$category->id], $category->name);
        }
    }



I've got the following error by PHPunit;

Code:
Fatal error: Call to a member function query() on null in /var/www/html/lipa2016/application/models/Category_model.php on line 11
/Category_model.php on line 11 is like that:
return $this->db->query("SELECT * FROM category");

Category_model.php is this:

PHP Code:
<?php
class Category_model extends CI_Model {
    
    private $category 
'category';
    
    function __construct
() {
        parent::__construct ();
    }
    
    public 
function get_category_list() {
        return $this->db->query("SELECT * FROM category");
        //$this->db->order_by ( 'name', 'asc' );
        //return $this->db->get ('category');  
    }
    



If I uncomment query like this:
$this->db->order_by ( 'name', 'asc' );
return $this->db->get ('category');
I've got error from phpunit:

Code:
Severity: Error
Message: Call to a member function order_by() on null
Filename: /var/www/html/lipa2016/application/models/Category_model.php
Line Number: 12


PHPUnit version is 5.1.3, PHP version is 5.6.14,
The same error was with PHPUnit 4.8 and php 5.4.

If you need more details about the code, please, let me know.

Regards,
Reply

#49
@resolv_25

Tests run on `testing` environment.
https://github.com/kenjis/ci-phpunit-tes...nvironment

Did you setup database.php for testing environment correctly?
Do you want to write tests for your apps? Our book, CodeIgniter Testing Guide would help you.
Reply

#50
I've just released v0.10.1: https://github.com/kenjis/ci-phpunit-test/releases

It includes only small bug fixes.
Do you want to write tests for your apps? Our book, CodeIgniter Testing Guide would help you.
Reply


Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


Users browsing this thread:
1 Guest(s)


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2019 MyBB Group.