PHPUnit is not finding the Classes of the source under test

  • From: "rimcrazy" < >
  • To:
  • Subject: PHPUnit is not finding the Classes of the source under test
  • Date: Sun, 08 Dec 2013 21:52:20 -0500

Please excuse the n00b question but I'm new to PHPUnit.  I set things up per 
the instructions.  I'm on OSX 10.9, NetBeans 7.4 with the following setup and 
installs:


Code:

14][phoppes@megatron ~]$ php -v
PHP 5.4.21 (cli) (built: Oct 21 2013 13:24:34)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
    with Xdebug v2.2.2, Copyright (c) 2002-2013, by Derick Rethans
15][phoppes@megatron ~]$ which phpunit
/usr/local/php5/bin/phpunit
16][phoppes@megatron ~]$ which phpunit-skelgen
/usr/local/php5/bin/phpunit-skelgen
17][phoppes@megatron ~]$ which php
/usr/bin/php
18][phoppes@megatron ~]$ ls -al /usr/bin/php
lrwxr-xr-x  1 root  wheel  23 Nov 25 11:12 /usr/bin/php@ -> 
/usr/local/php5/bin/php




I'm just running the simple calculator.php test case.  Again I set things up 
per the instructions.  A few things don't seem to work correct.  My 
calculator file is :


Code:

<?php

/* 
 * This is a test file for using PHPUnit inside of NetBeans.
 */
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;
  }
}
?>




I used NetBeans to generate the test file which looked mostly like the 
following for the exception of the testAdd() function which I corrected.


Code:

<?php
/**
 * Generated by PHPUnit_SkeletonGenerator 1.2.1 on 2013-12-08 at 22:53:52.
 */
class CalculatorTest extends PHPUnit_Framework_TestCase
{
    /**
     * @var Calculator
     */
    protected $object;

    /**
     * Sets up the fixture, for example, opens a network connection.
     * This method is called before a test is executed.
     */
    protected function setUp()
    {
        $this->object = new Calculator;
    }

    /**
     * Tears down the fixture, for example, closes a network connection.
     * This method is called after a test is executed.
     */
    protected function tearDown()
    {
    }

    /**
     * @covers Calculator::add
     * @todo   Implement testAdd().
     */
    public function testAdd()
    {
        $this->assertEquals(0, $this->$object->add(0, 0));
    }
}
?>




A couple of things don't seem to work correctly.  First, the $assert comments 
in the source code do not generate the corresponding test lines in the 
generated CalculatorTest file.  Second, I went through the steps to set up an 
initial test.  I created the test directory, generated the test file, edited 
the test file to contain the correct assertEquals statement (as seen above).  
When I right click on the Calculator.php file and request to run test the 
output I get the error that "No tests exceuted".  When I go to the Ouput tab 
it is clear that the class 'Calculator' is not found.  I find this strange as 
I thought I was starting the test from the source file.  While I've not tried 
it, I would assume that the test would run if I put a 'required' statement in 
the CalculatorTest.php file but I figured I should not have to do this.  I'd 
rather find the issue at hand rather than simply do a hack to make it work.

A few other things that may be at fault.  For years I've always used tcsh as 
my default shell and currently have that still set that way.  As such, there 
is no .bashrc in my user directory as I don't use bash but I'm wondering if I 
need to at a minimum set up a .bashrc with a search path as I believe PHPUnit 
uses bash shell scripts.

Any assistance would be greatly appreciated.

Tnx,

Phil






PHPUnit is not finding the Classes of the source under test

rimcrazy 12/09/2013

Re: PHPUnit is not finding the Classes of the source under test

Tomas Mysik 12/09/2013

Project Features

About this Project

PHP was started in November 2009, is owned by Petr Jiricka, and has 235 members.
By use of this website, you agree to the NetBeans Policies and Terms of Use (revision 20140418.2d69abc). © 2013, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo
 
 
Close
loading
Please Confirm
Close