diff options
Diffstat (limited to 'python-pyutgenerator.spec')
-rw-r--r-- | python-pyutgenerator.spec | 420 |
1 files changed, 420 insertions, 0 deletions
diff --git a/python-pyutgenerator.spec b/python-pyutgenerator.spec new file mode 100644 index 0000000..b0c6117 --- /dev/null +++ b/python-pyutgenerator.spec @@ -0,0 +1,420 @@ +%global _empty_manifest_terminate_build 0 +Name: python-pyutgenerator +Version: 0.12.0 +Release: 1 +Summary: python ut test code generator. +License: MIT +URL: https://py-ut-generator.readthedocs.io/en/latest/ +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/c2/41/5e7f04ba0575f517092e6fb84ce393ba2b10d388617ac6962bed8f378240/pyutgenerator-0.12.0.tar.gz +BuildArch: noarch + + +%description +# Python UT generator +This tools generate automatically Python pytest Unit test code. +This project uses ast module to generate. +Easy to make coverage test. And Easy to customize test code. + +### Feature + +* Generate unit test python file in tests package. +* Generate pytest test function from each function. +* Generate mock patch syntax code. +* Generate argument syntax code to call. +* If function has return value, create assert return. + +## Installation + +### Install pip + +``` +pip install pyutgenerator +``` +https://pypi.org/project/pyutgenerator/ + + +## Run tool. + +### Genarete test code + + +``` +pyutgen "Input File Name" +``` + +or + +``` +python -m pyutgenerator.run "Input File Name" +``` + + +### Sample input file + +``` +import os + + +def aaaaa(): + """ + call and return + """ + return os.path.exists('') + +``` + +### Sample out put + +``` + +import pytest +from unittest.mock import patch +from unittest.mock import MagicMock + +from tests.pyutgenerator.data import pattern01 + +def test_aaaaa(): + # plan + + # do + with\ + patch('tests.pyutgenerator.data.pattern01.os.path') as m1: + m1.return_value = None + m1.exists = MagicMock(return_value=None) + ret = pattern01.aaaaa() + + # check + assert ret + +``` +### For the future + +* For Code + * Genarete various parameters for test. + * Write return check value. + * 'exception' check. + * 'with' description mock. + * Generate test data. + * Assertion for method call for count, parameter, throw. + * parameter type for str,list, obj ... + * Simple code analyst report. like no None check or Parameter + * For django +* Customize parameter options or setting file. + * Exclude function mock. + * Source directory path. + * tab space num. +* Get test data from debug. +* able to run default generated code and pass test. +* Full coverage. +* web ui for test. + +### Prerequisites + +not yet + +``` +not yet +``` + + +## License + +This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details + +## Acknowledgments + +* Hat tip to anyone whose code was used +* Inspiration +* etc + + +%package -n python3-pyutgenerator +Summary: python ut test code generator. +Provides: python-pyutgenerator +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-pyutgenerator +# Python UT generator +This tools generate automatically Python pytest Unit test code. +This project uses ast module to generate. +Easy to make coverage test. And Easy to customize test code. + +### Feature + +* Generate unit test python file in tests package. +* Generate pytest test function from each function. +* Generate mock patch syntax code. +* Generate argument syntax code to call. +* If function has return value, create assert return. + +## Installation + +### Install pip + +``` +pip install pyutgenerator +``` +https://pypi.org/project/pyutgenerator/ + + +## Run tool. + +### Genarete test code + + +``` +pyutgen "Input File Name" +``` + +or + +``` +python -m pyutgenerator.run "Input File Name" +``` + + +### Sample input file + +``` +import os + + +def aaaaa(): + """ + call and return + """ + return os.path.exists('') + +``` + +### Sample out put + +``` + +import pytest +from unittest.mock import patch +from unittest.mock import MagicMock + +from tests.pyutgenerator.data import pattern01 + +def test_aaaaa(): + # plan + + # do + with\ + patch('tests.pyutgenerator.data.pattern01.os.path') as m1: + m1.return_value = None + m1.exists = MagicMock(return_value=None) + ret = pattern01.aaaaa() + + # check + assert ret + +``` +### For the future + +* For Code + * Genarete various parameters for test. + * Write return check value. + * 'exception' check. + * 'with' description mock. + * Generate test data. + * Assertion for method call for count, parameter, throw. + * parameter type for str,list, obj ... + * Simple code analyst report. like no None check or Parameter + * For django +* Customize parameter options or setting file. + * Exclude function mock. + * Source directory path. + * tab space num. +* Get test data from debug. +* able to run default generated code and pass test. +* Full coverage. +* web ui for test. + +### Prerequisites + +not yet + +``` +not yet +``` + + +## License + +This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details + +## Acknowledgments + +* Hat tip to anyone whose code was used +* Inspiration +* etc + + +%package help +Summary: Development documents and examples for pyutgenerator +Provides: python3-pyutgenerator-doc +%description help +# Python UT generator +This tools generate automatically Python pytest Unit test code. +This project uses ast module to generate. +Easy to make coverage test. And Easy to customize test code. + +### Feature + +* Generate unit test python file in tests package. +* Generate pytest test function from each function. +* Generate mock patch syntax code. +* Generate argument syntax code to call. +* If function has return value, create assert return. + +## Installation + +### Install pip + +``` +pip install pyutgenerator +``` +https://pypi.org/project/pyutgenerator/ + + +## Run tool. + +### Genarete test code + + +``` +pyutgen "Input File Name" +``` + +or + +``` +python -m pyutgenerator.run "Input File Name" +``` + + +### Sample input file + +``` +import os + + +def aaaaa(): + """ + call and return + """ + return os.path.exists('') + +``` + +### Sample out put + +``` + +import pytest +from unittest.mock import patch +from unittest.mock import MagicMock + +from tests.pyutgenerator.data import pattern01 + +def test_aaaaa(): + # plan + + # do + with\ + patch('tests.pyutgenerator.data.pattern01.os.path') as m1: + m1.return_value = None + m1.exists = MagicMock(return_value=None) + ret = pattern01.aaaaa() + + # check + assert ret + +``` +### For the future + +* For Code + * Genarete various parameters for test. + * Write return check value. + * 'exception' check. + * 'with' description mock. + * Generate test data. + * Assertion for method call for count, parameter, throw. + * parameter type for str,list, obj ... + * Simple code analyst report. like no None check or Parameter + * For django +* Customize parameter options or setting file. + * Exclude function mock. + * Source directory path. + * tab space num. +* Get test data from debug. +* able to run default generated code and pass test. +* Full coverage. +* web ui for test. + +### Prerequisites + +not yet + +``` +not yet +``` + + +## License + +This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details + +## Acknowledgments + +* Hat tip to anyone whose code was used +* Inspiration +* etc + + +%prep +%autosetup -n pyutgenerator-0.12.0 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-pyutgenerator -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 31 2023 Python_Bot <Python_Bot@openeuler.org> - 0.12.0-1 +- Package Spec generated |