Middle
Do you have experience with TDD or BDD (Behavior-Driven Development)?
sobes.tech AI
Answer from AI
Yes, I have experience working with TDD and BDD.
TDD (Test-Driven Development) is an approach where automated tests that describe the desired behavior of the code are written first, followed by the actual code to pass these tests. This helps create more reliable and maintainable code.
Example in Python using unittest:
import unittest
def add(a, b):
return a + b
class TestAdd(unittest.TestCase):
def test_add_positive(self):
self.assertEqual(add(2, 3), 5)
if __name__ == '__main__':
unittest.main()
BDD (Behavior-Driven Development) extends TDD by focusing on the system's behavior from the user's perspective. It is often used with frameworks that allow writing tests in a more readable format, such as behave or pytest-bdd.
Example of a BDD scenario with behave:
Feature: Addition
Scenario: Add two numbers
Given I have numbers 2 and 3
When I add them
Then the result should be 5
Thus, both approaches help improve code quality and ensure it meets requirements.