Use ChatGPT to Write Unit Tests
“Use ChatGPT to Improve Code” gave us a program that was initially written by a human, but modified by ChatGPT. Can we get ChatGPT to write unit tests for the program? Yes we can:
Prompt: Write a unit test for the function
preprocess_data.ChatGPT: To write a unit test for the preprocess_data function, you can use the unittest module in Python. First, import the necessary modules and the preprocess_data function from your main script. Then, create a class that inherits from unittest.TestCase and define test methods for various cases. Here’s an example of a unit test for the preprocess_data function:
importunittestimportpandasaspdfromyour_main_scriptimportpreprocess_dataclassTestPreprocessData(unittest.TestCase):deftest_preprocess_data(self):# Create a sample DataFrame with missing valuesraw_data={'A':[1,4,7],'B':[None,5,8],'C':[3,6,None]}df=pd.DataFrame(raw_data)# Call the preprocess_data functionpreprocess_data(df)# Expected DataFrame after preprocessingexpected_data={'A':[1,4,7],'B':['No answer',5,8],'C':[3,6,'No answer']}expected_df=pd.DataFrame(expected_data)# Compare the preprocessed DataFrame with the# expected onepd.testing.assert_frame_equal(df,expected_df)if__name__=='__main__':unittest.main()
Here’s something to watch for, though. I lied. This isn’t the first unit test that ChatGPT wrote. The first one used Python’s ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access