Otomatik Mühendis

ASP.NET Core Sitesini Konsol Parametleriyle Çalıştırmak

ASP.NET Core uygulamasını içeren .dll dosyası KestrelHttpServer sunucusu sayesinde IIS’e ihtiyaç duymadan ayağa kalkabilmektedir. Bir konsol uygulaması gibi çalışmaktadır.

Örnek senaryomuz; Heroku cloud platformuna kurduğumuz uygulamamız ayağa kaldırıldığı sırada server.urls parametresi ile belirli bir portu dinlemeye zorlanmaktadır. ASP.NET Core uygulamaları ön tanımlı olarak 5000 portu üzerinden çalışırlar. Bu durumda uygulamamız istenen portu dinlemeyecektir.

cd /app/heroku_output && dotnet ./Libton.dll --server.urls http://+:54372

Heroku platformunda dotnet cli‘a gönderilen bu komutta istenen port değişken olarak verilmektedir.

Konsol uygulamalarında çalıştırma sırasında parametreler vererek program içerisinde bunları kullanabiliriz. Bu yeteneği uygulamamıza kazandırabilmek için NuGet Package Manager üzerinden Microsoft.Extensions.Configuration.CommandLine referansını ekleriz.

Daha sonra Program class’ında ki Main methodunda, komut satırı parametrelerini ayar parametlerine dönüştürerek, WebHostBuilder’a bu ayarları aktarırız.

Bu çalışma sonunda Program.cs dosyamız aşağıdaki hali alır.

Okumaya devam »


Yazılımcı Blogları

Yazılımcı bloglarının güncel listesi

Sindre Sorhus’ blog - Yeoman ve TodoMVC‘nin geliştiricisi

Mike Mengell

Brett Slatkin - Tavsiye yazısı: What’s awful about being a {software engineer, tech lead, manager}?

StrathWeb by Filip W.

Burak Tungut - “Algoritma ve Programlama Mantığı” ve “Asp.Net Web API ve Mimari Özellikleri” kitaplarının yazarı

Gökhan Gökalp - “Asp.Net Web API ve Mimari Özellikleri” kitabının yazarı

Ahmet Rende

Halil ibrahim Kalkan - ASP.NET Boilerplate‘in geliştiricisi

Tayfun Yaşar

Tuğba Üstündağ

Okumaya devam »


Test Attribute ve Annotation'ları

Çeşitli test frameworklerinde sıklıkla kullanılan Attribute ve Annotation'lar

Aşağıdaki tabloda NUnit, MSTest, xUnit.net ve JUnit test frameworklerinde sıklıkla kullandığımız Attribute ve Annotation’ları açıklamarıyla birlikte görebilirsiniz.

JUnit için en iyi örnekleri Guru99 sitesinde bulabilirsiniz.

NUnit MSTest xUnit.net JUnit Açıklama
[TestFixture] [TestClass] - - Class’ın test içerdiğini belirtir.
[Test] [TestMethod] [Fact] @Test Method’un test case’i olduğunu belirtir.
[OneTimeSetUp] [ClassInitialize] IClassFixture @BeforeClass Testler başlamadan önce tek sefer çalışacak method.
[OneTimeTearDown] [ClassCleanup] IClassFixture @AfterClass Testler tamamlandıktan sonra tek sefer çalışacak method.
[SetUp] [TestInitialize] Constructor @Before Her testten önce çalışacak methoddur.
[TearDown] [TestCleanup] IDisposable.Dispose @After Her test tamamlandıktan sonra çalışacak methoddur.
[Ignore] [Ignore] [Fact(Skip=”reason”)] @Ignore Test case olmasına rağmen çalıştırılmasını istemediğimiz methodları bununla işaretleyebiliriz.
[Category(“”)] [TestCategory(“”)] [Trait(“Category”, “”)] @Category(*.class) Testleri kategoriler halinde sınıflandırmamızı sağlar.
Okumaya devam »


JUnit ve Selenium WebDriver ile Fonksiyonel Test

Basit bir CRUD (Create, Read, Update, Delete) işlemi için JUnit ve Selenium WebDriver kullanarak fonksiyonel test nasıl yazılır?

Fonksiyonel test; sistem içerisindeki bir fonksiyonun doğru şekilde çalışıp çalışmadığını kontrol etmektir. Diğer test türleri arasında en geniş kapsamlı olandır. Kullanıcının hareketleri test ortamında oluşturulur.

Fonksiyonel testin en büyük dezavantajı, değişen arayüzlerle birlikte değişmesi gerekliliğidir. Bu maliyetin daha düşük olabilmesi için değişkenleri POM (Page Object Model) nesneleri içerisinde toplarız. Sayfa tasarımları değiştikçe bu nesneler üzerinde değişiklik yapmak test case’ler üzerinde değişiklik yapmaktan daha kolay olacaktır.

functionalTestingEdit.png

Yukarıda gördüğünüz şekilde (sayfa elementleri kırmızı ile ifade edilmiştir, farklı ifadeler için farklı erişim yöntemleri uygulanacaktır) bir düzenleme sayfası için aşağıdaki model oluşturulabilir.

Okumaya devam »


Visual Studio'da Verimliliği Arttıracak Eklentiler

Visual Studio İpucları

Visual Studio’yu daha verimli nasıl kullanabiliriz sorusunu, bu yazıyla birlikte cevaplamaya devam ediyoruz. Daha önce Visual Studio Başlığında Branch’in Gösterilmesi yazısıyla girdiğimiz eklentiler dünyasının bu sefer derinliklerine ineceğiniz.

Olmazsa Olmazlar

  • Web Essentials Adeta Visual Studio’yu geliştiren Microsoft çalışanlarının arka bahçesi diyebiliriz. Visual Studio üzerinde yapacakları geliştirmeleri bu eklenti içerisinde kullanıma sunarak kullanıcı yorumlarını değerlendiriyorlar. Buradan indirebilirsiniz.
Okumaya devam »