Codeigniter、带有返回void函数和数据库操作函数的Netbeans单元测试


Codeigniter, Netbeans unittesting with return void functions and db manipulating functions

我是单元测试的新手,正准备使用netbeans支持的测试生成,如中所述。它告诉使用@assert注释。

然而,我在这里感到困惑的是,

  1. 我需要测试所有功能吗
  2. 如果所有函数都要测试,我如何在不返回任何值的情况下测试函数。我使用的是codeigniter,所以考虑下面的函数,它只加载一个视图。

    public function index(){
        $this->load->view('signup');            
    }
    
  3. 也可以说,我在一个代码点火器模型中有一个这样的函数,无论如何都可以创建测试吗。

    public function save($users_name,$users_email){
        $userData = array('users_name'=>$users_name,
              'users_email'=>$users_email);
        $this->db->insert('users',$userData);
        $user_id = $this->db->insert_id();
        return $user_id;
    }
    

如果有人能在上面指导我,我将不胜感激,无论是否使用@assert注释,都要使用netbeansphp-ide支持的自动测试生成。

谢谢

GUI

您根本不必使用@assert。您可以自己编写测试用例文件。(即使你没有NetBeans。)

  1. 最好为所有公共函数编写测试,但要自由决定测试内容
  2. 如果你真的想测试控制器输出(视图),你可以测试它。(这不是纯粹的单元测试。)
  3. 如果您将数据库状态设置为已知状态,则可以对其进行测试。因为您在执行测试之前就知道$user_id