BDD Test Step for Random Dictionary Generation

  • Share this:

Code introduction


This code defines a BDD test step using Behave library to generate a dictionary containing random integers.


Technology Stack : Behave, Python built-in random module

Code Type : Behavior-Driven Development (BDD) feature

Code Difficulty : Intermediate


                
                    
from behave import given, when, then
import random
import json

def generate_random_dict():
    keys = ['key1', 'key2', 'key3']
    values = [random.randint(1, 100) for _ in keys]
    return dict(zip(keys, values))

def get_feature_description():
    return {
        "type": "Behavior-Driven Development (BDD) feature",
        "hard": "中级",
        "explain": "该代码定义了一个BDD测试步骤,使用Behave库生成一个包含随机整数的字典。",
        "tench": "Behave, Python built-in random module",
        "explain_en": "This code defines a BDD test step using Behave library to generate a dictionary containing random integers.",
        "tench_en": "Behave, Python built-in random module"
    }

@given("a random dictionary")
def step_impl(context):
    context.random_dict = generate_random_dict()

@when("I access the dictionary")
def step_impl(context):
    for key in context.random_dict.keys():
        assert key in context.random_dict

@then("the dictionary should contain all keys")
def step_impl(context):
    assert len(context.random_dict.keys()) == 3