Как я могу написать модульный тест для функции Azure, которая имеет метод run с параметром? - PullRequest
0 голосов
/ 11 декабря 2019

Как написать модульный тест для функции Azure, которая имеет приведенный ниже пример кода.

[FunctionName("DemoScheduler")]
 public static async void Run([TimerTrigger("0 */5* * * *")]TimerInfo myTimer, TraceWriter log)
 {

   Implementation is there...    

 }

1 Ответ

0 голосов
/ 11 декабря 2019

Как сказал @cyptus, вы можете просто использовать отдельный класс для теста.

[FunctionName("DemoScheduler")]
public static async void Run([TimerTrigger("0 */5* * * *")]TimerInfo myTimer, TraceWriter log)
{
    new Runner().Run(myTimer, log);
 }

 public class Runner 
 {
    public void Run(TimerInfo myTimer, ILogger log) 
    {
        // your code    
    }   
 }

 [TestClass]
 public class RunnerTests
{
    [TestMethod]
    public void Run_ShouldWorkCorrectly()
    {
        var timerInfo = new TimerInfo();
        //Configure your timer here

        new Runner().Run(timerInfo, new StubLogger());

        //your test
    }
} 
...