|Rune Tynan b49eb793f9||1 week ago|
|discord/ext/test||1 week ago|
|tests||1 month ago|
|.gitignore||1 week ago|
|LICENSE||1 year ago|
|README.md||5 months ago|
|__init__.py||1 month ago|
|setup.cfg||1 month ago|
|setup.py||5 months ago|
This is a package to allow testing of discord.py. It is only compatible with the rewrite version, and is still in early alpha. It relies on pytest-asyncio for asynchronous test running, as discord.py is coroutine driven.
dpytest can be used for projects using the default commands.Bot, or those defining their own subclass of bot. For someone using a custom class, code would look something like this:
import discord.ext.test as dpytest import yourbot import pytest @pytest.mark.asyncio async def test_bot(): bot = yourbot.BotClass() # Load any extensions/cogs you want to in here dpytest.configure(bot) await dpytest.message("!help") dpytest.verify_message("[Expected help output]")
The dpytest framework is designed to be used best with pytest style fixtures, but is technically framework agnostic.
With pytest, the bot setup step would be moved into a fixture so each test could use that fixture. Configure will ensure that all state is reset after each call.