CodeIgniter Forums

Full Version: How can I use a helper in a unit test?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi there!

Here is my problem:

  1. I try to create a test case that extends CIDatabaseTestCase.
  2. In this one, I use a model of mine to access the database.
  3. In that model, I use the helper function "character_limiter()".
When running the test, PHPUnit tells me:

Error: Call to undefined function character_limiter()

I tried pretty much everything to allow the tests to recognize that function, even putting that ugly line at the beginning of my test case:

PHP Code:
require_once(ROOTPATH '/vendor/codeigniter4/framework/system/Helpers/text_helper.php'); 

Unfortunately, even that doesn't work, for ROOTPATH isn't defined by PHPUnit (obviously, silly me).

What is the best practice to test a model (or anything else for that mater) that uses a helper function? Do I need to modifiy my test or my code? And how?

Thanks in advance for your kind answers!
Instead of require_once..., use helper('text');
I'm a bit ashamed it was that simple. I loaded the helper in my BaseController, I should have done the same in my test case!

Thanks for the answer!