Blog

Boosting Test Coverage with Ruby-OpenAI Gem

Rodrigo Assis
July 12, 2023

As a Ruby on Rails developer, maintaining a robust and comprehensive test suite is vital to ensure the reliability and stability of your application. However, identifying potential test scenarios that are not covered by your existing tests can be challenging.

In this blog post, we will explore how you can leverage the power of the Ruby-OpenAI gem to generate additional test scenarios that can help enhance your test coverage. By incorporating AI-generated scenarios, you can uncover edge cases and potential bugs that may have been overlooked.

Let’s dive in!

Setting up the Ruby-OpenAI Gem

To get started, we need to add the Ruby-OpenAI gem to our project. Add the following line to your Gemfile:


gem "ruby-openai", '~> 4'

Afterwards, run bundle install to install the gem and it’s dependencies.

Obtaining the OpenAI API Key

To utilise the OpenAI API, you’ll need an API key. Sign up on the OpenAI platform, create an API key, and securely store it.

Generating Additional Test Scenarios

Now, let’s explore how the Ruby-OpenAI gem can help us generate additional test scenarios.

Consider a Rails project with a Customer model. To generate new test cases for customer_spec.rb, run the following code:


require "openai"

client = OpenAI::Client.new(access_token: "YOUR-OPENAI-TOKEN")

response = client.edits(
  parameters: {
    model: "text-davinci-edit-001",
    input: File.open("./spec/models/customer_spec.rb").read,
    instruction: "Given this rspec file, provide additional test cases for the customer model"

  }
)

In the above code, we utilise the Ruby-OpenAI gem to generate additional test scenarios based on the input provided.

Incorporating Generated Scenarios into the Test Suite

Once the additional test scenarios are generated, you can manually review and refine them to ensure relevance and accuracy.

Additionally, you can consider integrating the generated scenarios into your feature tests to achieve broader coverage.

Conclusion

By integrating the Ruby-OpenAI gem into your Ruby on Rails project, you can leverage AI-generated test scenarios to enhance your test coverage. These additional scenarios can help identify potential issues that might have been missed by your existing tests.

Remember to manually review and refine the generated scenarios to ensure they are meaningful to your project.

If you would like to find out more about AI Integration and how it can help your application contact us today for a free consultation