-
Notifications
You must be signed in to change notification settings - Fork 0
Writing Tests
In case you want to practice test-driven development, or ensure your bot still works after consecutive changes (regression bugs are rather common for chatbots), you should write test cases.
Unit tests are performed on a logically encapsulated component of the system. The definition of unit tests in contrast to integration tests is that they have no external dependencies. @Eldinnie has written an initial POC of a unit test framework for python-telegram-bot, but as the library grew it was not maintained. Perhaps you might be able to help us out here and help in completing the project ;) https://github.com/Eldinnie/ptbtest
In contrast to unit tests, integration tests may test the system in its eventual environment together with service integrations, such as the Bot API.
We are testing features of our bot using behave python module and using python-telegram-bot. I am implementing this concept on this repo chat bots behave test I will be happy if I get comments and pull requests for improving it.
In order to test your bot in a real environment, you can make use of a userbot library that will send messages to your bot and evaluate whether it responds in the way it should. Telethon or Pyrogram should be the choices in a Python environment. The currently unmaintained TgIntegration library was written for exactly this purpose, so maybe someone could come along with a pull request to update it to the latest version of Pyrogram.
- Wiki of
python-telegram-bot
© Copyright 2015-2025 – Licensed by Creative Commons
- Architecture Overview
- Builder Pattern for
Application
- Types of Handlers
- Working with Files and Media
- Exceptions, Warnings and Logging
- Concurrency in PTB
- Advanced Filters
- Storing data
- Making your bot persistent
- Adding Defaults
- Job Queue
- Arbitrary
callback_data
- Avoiding flood limits
- Webhooks
- Bot API Forward Compatiblity
- Frequently requested design patterns
- Code snippets
- Performance Optimizations
- Telegram Passport
- Bots built with PTB
- Automated Bot Tests