Sử dụng info("log some info message") và logger("log a debug message").
Nó sẽ nhìn gọn gàng hơn app('log')->debug($message) hoặc \Log::debug($message)
Cá nhân mình thấy dùng Facade sẽ tiện hơn cho việc viết test thay vì dùng helper. Cụ thể
Nếu sử dụng logger() thì mình phải hiểu bản chất rằng LogManager được binding thế nào trong container để mock một đối tượng với key phù hợp.
Còn khi sử dụng Log facade, mình có thể mock "trực tiếp" từ facade theo sự hỗ trợ từ Laravel.
Ví dụ
Unit test với helper.
$logger=m::mock('Illuminate\Log\LogManager')->shouldReceive('info')->....;// Vì logger được bind bằng một key là "log" nên muốn giả lập thì phải bind lại nó trong container.app()->instance('log',$logger);// run code to test
Một ngôn ngữ gần với ngôn ngữ máy tính thì được coi ngôn ngữ lập trình bậc cao ;
ngược lại, ngôn ngữ gần với ngôn ngữ tự nhiên của con người sẽ được gọi là ngôn ngữ lập trình bậc cao.
Cám ơn bài viết của bạn
Mình muốn dùng recyclerview
Nhưng thêm thư viện vào gradle thì báo lỗi , loay hoay mãi
grdale của mình như sau
có thể giải thích giúp mình được không , cám ơn
THẢO LUẬN
Cá nhân mình thấy dùng Facade sẽ tiện hơn cho việc viết test thay vì dùng helper. Cụ thể Nếu sử dụng logger() thì mình phải hiểu bản chất rằng LogManager được binding thế nào trong container để mock một đối tượng với key phù hợp. Còn khi sử dụng Log facade, mình có thể mock "trực tiếp" từ facade theo sự hỗ trợ từ Laravel.
Ví dụ
Unit test với helper.
Unit test với Facade:
ok bác
Bạn có thể chụp lỗi gửi mình xem đc ko ạ? bạn đang chạy trên môi trường ntn vậy?
Vâng em cảm ơn ạ
Cảm ơn bạn đã theo dõi
bài hay lắm em
Cam on admin vi bai viet qua hay a ^^
Cảm ơn bạn rất nhiều
)
)
cám ơn tác giả
lỗi chính tả bạn ơi.
Bài viết hay quá! Cảm ơn bạn
Cám ơn bạn nhiều nha !
Bạn có thể chuyển ham find jquery sang javascript không
Cám ơn bạn thông tin rất hữu ích
Với selenium webdriver, nguyên tắc luôn là website phải được load xong hoàn toàn thì mới có thể thực hiện được script. Tuy nhiên có thể do vấn đề đường truyền mạng của em hoặc server có vấn đề gì đó nên thời gian load web lớn --> lỗi Timed out sẽ xảy ra. Về hướng giải quyết chị thường tăng time lên. Em thử xem cách nào phù hợp nhé: //driver.manage().timeouts().implicitlyWait(2000, TimeUnit.MILLISECONDS); //driver.manage().timeouts().pageLoadTimeout(40, TimeUnit.SECONDS); //driver.manage().timeouts().setScriptTimeout(60, TimeUnit.SECONDS); hoặc https://stackoverflow.com/questions/48450594/selenium-timed-out-receiving-message-from-renderer https://sqa.stackexchange.com/questions/9007/how-to-handle-time-out-receiving-message-from-the-renderer-in-chrome-driver
Cảm ơn em nhiều. Chị trả lời câu hỏi của em ở phía dưới nhé
DDD không phải là một design parttern. f*
có , t hay vào đọc blog, đc bài của ông hay vs đúng lúc ghê
Cám ơn bài viết của bạn Mình muốn dùng recyclerview Nhưng thêm thư viện vào gradle thì báo lỗi , loay hoay mãi grdale của mình như sau có thể giải thích giúp mình được không , cám ơn
apply plugin: 'com.android.application'
android { compileSdkVersion 29 defaultConfig { applicationId "com.example.tvcable" minSdkVersion 19 targetSdkVersion 29 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" multiDexEnabled true } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' debuggable = false } }
}
dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') implementation 'com.android.support:support-annotations:28.0.0' implementation 'com.android.support.constraint:constraint-layout:1.1.3' implementation 'com.google.android.gms:play-services:12.0.1' testImplementation 'junit:junit:4.12'
}
Perfect