Faker
dummy data作成用のpython package.
pythonのmoduleとしても利用できるが、CLIからのdataの作成も可能。
以下でinstallできる。
pip install faker
Usage
from faker import Faker
# faker object
fake = Factory.create()
# set seed
fake.seed(4321)
# get dummy data
fake.name()
fake.address()
fake.text()
呼び出しごとにrandomにdataが出力される。
seedを固定したい場合は、fake.seed()
で設定する。
dummy dataを生成するname
, address
はproviderによって提供される。
自分でproviderを追加することもできる。
Providerの追加。
自分でproviderを作成する場合は以下のようにする。
# first, import a similar Provider or use the default one
from faker.providers import BaseProvider
# create new provider class
class MyProvider(BaseProvider):
def foo(self):
return 'bar'
# then add new provider to faker instance
fake.add_provider(MyProvider)
# now you can use:
fake.foo()
言語の変更
defaultは、英語。日本語などのdataもある。
from faker import Factory
fake = Factory.create('jp_JP')
List of providers
defaultで利用可能なProviderの一覧は以下にある。
List of dummy data
全て網羅していないが、どういうデータが使えるか
以下を実行すればデータが表示される。
from faker import Factory
fake = Factory.create()
print("")
print("lorem")
print(fake.word())
print(fake.words())
print(fake.sentence())
print(fake.sentences())
print(fake.paragraph())
print(fake.paragraphs())
print(fake.text())
print("")
print("user_agent")
print(fake.user_agent())
print(fake.chrome())
print(fake.firefox())
print(fake.safari())
print(fake.opera())
print(fake.internet_explorer())
print(fake.windows_platform_token())
print(fake.linux_platform_token())
print(fake.mac_platform_token())
print("")
print("misc")
print(fake.boolean())
print(fake.null_boolean())
print(fake.binary(length=50))
print(fake.md5())
print(fake.sha1())
print(fake.sha256())
print(fake.locale())
print(fake.language_code())
print(fake.uuid4())
print(fake.password())
with pytest
pytestと一緒に使う場合は、pytestのfixtureとして提供されているpytest-fixture
を使う。
pip install pytest-faker
fakerという名前の引数をtest用の関数に指定しておけばfake moduleとして使える。
def test_faker(faker):
assert faker.name() != faker.address()