我現在正在使用Microsoft Bot Framework與ASP.NET一起工作。Microsoft Bot Framework的自動測試
使用bot模擬器進行手動測試後,我正在尋找爲bot創建自動測試的最佳方法。
考慮兩個問題:
- 什麼是自動完成這樣測試的最佳工具?
- 什麼是最好的方法來測試一個對話框,可以返回相同的輸入不同的答案?
我現在正在使用Microsoft Bot Framework與ASP.NET一起工作。Microsoft Bot Framework的自動測試
使用bot模擬器進行手動測試後,我正在尋找爲bot創建自動測試的最佳方法。
考慮兩個問題:
一種替代方法是使用DirectLine進行功能測試。需要注意的是該機器人需要託管,但它是強大的。看看AzureBot tests project看看它是如何工作的。
另一種替代方法是做BotFramework團隊正在做的一些單元測試。
如果您使用對話框,您可以看看EchoBot unit tests,因爲它們很容易遵循。
如果您正在使用Chain,請看看他們如何使用AssertScriptAsync方法。
如果你正在尋找一種方式來模仿路易斯服務,看到this。
你可能要考慮Selenium。 Selenium是Web瀏覽器自動化軟件,允許您編寫以編程方式讀取和寫入網頁DOM的測試。隨着硒腳本,您可以:
對於在Node.js中自動測試機器人,使用ConsoleConnector的方式與在GitHub上的BotBuilder中的測試工作正常一樣。看看https://github.com/Microsoft/BotBuilder/blob/master/Node/core/tests/localization.js:
var assert = require('assert');
var builder = require('../');
describe('localization', function() {
this.timeout(5000);
it('should return localized prompt when found', function (done) {
var connector = new builder.ConsoleConnector();
var bot = new builder.UniversalBot(connector);
bot.dialog('/', function (session, args) {
session.send('id1');
});
bot.on('send', function (message) {
assert(message.text === 'index-en1');
done();
});
connector.processMessage('test');
});
...等...
事實上這個鏈接https://github.com/Microsoft/BotBuilder/tree/master/CSharp/Tests/Microsoft.Bot。 Sample.Tests更好地展示單元測試,因爲它包含一些真實的例子。 – OmG