2
我有查看功能,它使用nmap來掃描網絡中的設備。使用模擬測試django應用程序來覆蓋功能
views.py
import nmap
def home(request):
y=nmap.PortScanner()
data = y.scan(hosts="192.168.1.*", arguments="-sP")
context[status]=data['status']['addresses']['ipv4']
return render_template('home.html',context)
現在我要測試的這款爲no devices
,1 device connected
和2 or more device connected
。我需要覆蓋tests.py中的數據。
我在想,它可以使用模擬功能來完成。我可以在tests.py中覆蓋它,但是當模擬響應時它不會在視圖函數中得到覆蓋。
我該如何測試這個nmap函數?
your_module意味着我的views.py,對不對? –
可能是的。它是您的主頁視圖被定義的模塊。實際上,它看起來像:'from yourapp import views' – ohannes
但是這裏的模擬函數是如何工作的。沒有從模擬進口。 MockPortScanner –