第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用假設(shè)從給定列表生成可變大小的列表?

如何使用假設(shè)從給定列表生成可變大小的列表?

眼眸繁星 2023-03-30 09:51:28
對于基于屬性的測試,給定一個固定的值列表,我需要生成一個可變大小的列表,其中順序很重要并且允許重復。例如,如果我的固定列表是texts = ['t1', 't2', 't3', 't4']我想生成不同的變體,例如['t2']['t4', 't1'] # Subset and different order[]['t3', 't1', 't2'] # Different order['t4', 't4', 't4', 't1'] # Repetition of t4['t1', 't2', 't1'] # Repetition but at different location['t1', 't2']['t2', 't1'] # different order from the one above and considered different.我目前設(shè)法使用的是permutations策略from hypothesis import given, strategies as st@given(st.permutations(texts))def test_x(some_text):   ...   pass但這并沒有給我可變大小,重復其他需求:如何指定最大變量列表為 20?
查看完整描述

2 回答

?
幕布斯6054654

TA貢獻1876條經(jīng)驗 獲得超7個贊

lists您正在尋找和策略的組合sampled_from

from hypothesis import strategies as st


texts = ['t1', 't2', 't3', 't4']

lists_from_texts = st.lists(st.sampled_from(texts), max_size=20)


...


@given(lists_from_texts)

def test_x(some_text):

? ? ...

或者如果您希望能夠更改不同測試的源列表:


from typing import List



def lists_from_texts(source: List[str]) -> st.SearchStrategy[List[str]]:

? ? return st.lists(st.sampled_from(source), max_size=20)


...


@given(lists_from_texts(texts))

def test_x(some_text):

? ? ...


查看完整回答
反對 回復 2023-03-30
?
米琪卡哇伊

TA貢獻1998條經(jīng)驗 獲得超6個贊

由于您最多需要 20 個項目,因此生成一個從 1 到 20 的隨機數(shù):


import random

size = random.randint(1,20)

然后使用該數(shù)字從源列表中進行 N 次獨立選擇:


texts = ['t1', 't2', 't3', 't4']

random_texts = []

for _ in range(size):

    random_texts.append(random.choice(texts))


查看完整回答
反對 回復 2023-03-30
  • 2 回答
  • 0 關(guān)注
  • 160 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號