0
Methode Referenz ein Objekt nach hinten:Wie in einer verspottet Methode
def analyse_sentence(self, sentence, channel):
found_top_news = 'top news' in sentence or 'trending news' in sentence
if found_top_news:
categories = []
found_categories = SharedNewsUtils.extract_categories(sentence, categories)
if found_categories:
result = self.retrieve_top_news(categories[0])
Unit-Test:
@patch('slack.realtime_bot.plugins.news_plugin.news.News.retrieve_top_news')
@patch('utils.shared_news_utils.SharedNewsUtils.extract_categories')
def test_analyse_sentence_calls_retrieve_top_news_if_found_categories(self, mck, mck2):
mck.return_value = True
sentence = 'trending news'
channel = 'D'
mck2.return_value = []
self.news.analyse_sentence(sentence, channel)
self.assertTrue(mck2.called)
Diese Einheit Test nicht mit der Meldung:
result = self.retrieve_top_news(categories[0]) IndexError: list index out of range
Da extract_categories
verspottet wird, und eine leere categories
Liste innerhalb der Methode injiziert wird, weiß ich nicht, wie man das auch spottet, um die Liste aus Index später zu verhindern.