[SetUp]//Ётот атрибут используетс¤ внутри тестовогоприспособлени¤ дл¤ предоставлени¤ общего набора функций, которые выполн¤ютс¤ непосредственно перед вызовом каждого метода тестировани¤. public void Setup() { docsService = new DocsService(docContext, new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json") .Build()); ServiceProvider = Api.Web.Program.CreateHostBuilder(new string[0]).Build().Services; var doc = new Doc { Category = Category.APPLICATION, Name = "TestFile.txt", }; var ver = new Api.DAL.Models.Version { Doc = doc, Release = 1, Size = 1234, UploadDateTime = DateTime.Now, Path = @"C:\\Other\\Files\\Tests", }; docContext.Add(doc); docContext.Versions.Add(ver); docContext.SaveChanges(); }
[Test] //јтрибут ¤вл¤етс¤ одним из способов маркировки метода внутри класса TestFixture в качестве теста public void GetDocs_Get1Doc_NotNull() // [“естируемый метод]_[—ценарий]_[ќжидаемое поведение]. { IDocsService ApiService = ServiceProvider.GetService <IDocsService>(); IList <Doc> result = ApiService.GetDocs(null); Assert.NotNull(result); }
private void RenderDocsIndex(IHostingEnvironment env, IDocsService service) { string jsonFilePath = Path.Combine(env.ContentRootPath, "wwwroot", "content", "docs", "index.json"); var docs = Models.StructuredPageModel.GetStructuredPages(service.GetPages().ToArray()); string json = JsonConvert.SerializeObject(docs); File.WriteAllText(jsonFilePath, json); }
private void RenderAllPages(IHostingEnvironment env, IServiceProvider services) { IDocsService docsService = services.GetService <IDocsService>(); RenderAll <IPageService>(env, services, "pages"); RenderAll <IDocsService>(env, services, "docs"); // RenderAll<IBlogCacheService>(env, services, "blog") RenderDocsIndex(env, docsService); string docsPath = Path.Combine(env.ContentRootPath, "wwwroot", "content", "docs"); DocsSearch = new SearchCacheService(docsPath, docsService); }
//private readonly ILogger<DocController> _logger; //cистема внедрения зависимостей использует конструкторы классов для передачи всех зависимостей. //Соответственно в конструкторе контроллера мы можем получить зависимость. //Конструкторы являются наиболее предпочтительным вариантом для получения зависимостей public DocController(IDocsService services) { _services = services; }
//cистема внедрения зависимостей использует конструкторы классов для передачи всех зависимостей. //Соответственно в конструкторе контроллера мы можем получить зависимость. //Конструкторы являются наиболее предпочтительным вариантом для получения зависимостей public DocController(DocContext context, IWebHostEnvironment appEnvironment, IDocsService services) { _context = context; _appEnvironment = appEnvironment; _services = services; }
public DocsController(IDocsService docsService) { _docsService = docsService; }