Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7403227
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 29, 20262026-05-29T05:00:31+00:00 2026-05-29T05:00:31+00:00

I have an API module in my application which is a RESTful API –

  • 0

I have an API module in my application which is a RESTful API – basically set of public web services. I want to unit test my web services with PHPUnit. Now the problem…

Normally my app uses “dbname” database. But when unit testing with PHPUnit, I would like it to use “dbname_test” database (which contains the same set of tables, of course).

What is the best way to achieve this? In my PHPUnit test cases I am using Zend_Http_Client to send requests to my API module and then I am asserting the returned responses.

Thanks.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-29T05:00:34+00:00Added an answer on May 29, 2026 at 5:00 am

    I would put a testing section in my application.ini:

    [production]
    ...
    ; Database.
    resources.db.adapter = "PDO_MYSQL"
    resources.db.params.host = "localhost"
    resources.db.params.username = "user"
    resources.db.params.password = "pass"
    resources.db.params.dbname = "primary"
    
    [testing : production]
    resources.db.params.username = "test"
    resources.db.params.password = "test"
    resources.db.params.dbname = "testing"
    

    Set an environment variable in my .htaccess:

    SetEnv APPLICATION_ENV testing
    

    And make sure I load the proper settings:

    defined('APPLICATION_ENV')
        || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));
    $application = new Zend_Application(
        APPLICATION_ENV,
        array('config' => array(
            APPLICATION_PATH . '/configs/application.ini',
            APPLICATION_PATH . '/configs/additional.ini',
        ))  
    );
    

    Another idea

    Conditionally set the APPLICATION_ENV variable in .htaccess based on remote IP and user agent. If both do not match, then production is used.

    SetEnv APPLICATION_ENV production
    
    SetEnvIf       Remote_Addr 55\.55\.55\.555 APPLICATION_ENV=testing
    SetEnvIfNoCase User-Agent  !PHPUNIT        APPLICATION_ENV=production
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a C/C++ application in which I define a Python module. I set
Is it possible to have more than one tapestry5 module in one web application?
I have Android application, which have directory module and it list out some of
I have an API call in my application where I am checking the time
I have a scenario in which I have REST API which manages a Resource
I have an application App2 to which I am sending a POST request from
I currently have an application which uses a regular ListView with groups to show
I have a small application written in Play! which allows user registration and adding
I'm investigating integrating a 3rd party web application with PeopleSoft via web services. I'm
Recently I have developed an automation application using WatiN API, in .NET Framework 3.5,

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.