Обучающие видео » Компьютерные видеоуроки и обучающие интерактивные DVD » Программирование (видеоуроки)
Introduction to Testing in Go (Golang)Год выпуска: 6/2024
Производитель: Udemy
Сайт производителя:
https://www.udemy.com/course/introduction-to-testing-in-go-golang/Автор: Trevor Sawler
Продолжительность: 12h 18m 38s
Тип раздаваемого материала: Видеоурок
Язык: Английский
Субтитры: Английский
Описание:
Learn how to write effective unit and integration tests in Go, for web applications and REST APIsWhat you'll learn Learn how to write unit tests in Go
Learn how to write integration tests in Go, and simplify them using Docker
Learn how to create test suites in Go
Learn how to create a simple web application and test handlers, middleware, database, and more
Learn how to create a simple REST API in Go and test its endpoints
Learn to to authenticate using JWT Tokens (and refresh tokens) and completely test all functionality
Learn how to write tests that cover multiple scenarios with table tests
Requirements A basic understanding of to use Go programming language
DescriptionWriting unit tests and integration tests is one of the most-neglected aspects of software development. All too often, a developer will find him or herself say "but it works on my computer!" when a project is presumed finished, only to discover that once taken out of the development environment, things don't work as expected.
Well written unit tests and integration tests help to solve this problem, and in fact almost without exception will reduce overall development time, rather than adding to it. In addition, well-tested code almost always requires less maintenance, and the end product will have less down time.
This course is focused on writing unit and integration tests in Go, a modern, type safe, compiled, and extremely fast programming language. It it is ideally suited for building safe, scalable, incredibly fast web applications, and it has powerful testing tools built right in.
In this course, we will build four simple applications, and thoroughly test them: A
command line application (CLI) that tries to determine if a user-entered number is prime or not;
A simple
web application that allows a user to log in and upload a profile picture;
A simple
REST API built on the same code base as the web application which allows users to authenticate using
JWT tokens and perform operations against a Postgres database. We'll go through the entire authentication process, including using refresh tokens, and thoroughly test all aspects of the code.
A simple
Single Page Web Application (SPA), written in Vanilla JavaScript, that demonstrates how to use JWT and Refresh Tokens with a SPA, and how to test that functionality. For each of these projects, we will learn how to write unit tests for all functionality.
[spoiler="We will learn how to test (among other things):"]
Application routes
Application handlers
How to test multiple scenarios by writing and using table tests
Database operations (using the Repository pattern)
Application middleware
User authentication (with sessions)
User authentication (with JWT tokens)
JWT token generation and validation
Refresh token generation and validation
Testing user input
Writing to the terminal
Adding cookies to a request
Reading cookies from a response
[/spoiler]
By the end of this course, you will have a solid understanding of how to write effective tests, and how to write testable code.
Please note that this course requires you to download Docker Desktop from Docker. If you are a Udemy Business user, please check with your employer before downloading software.Who this course is for: Developers working in Go who want to level up their testing skills
Формат видео: MP4
Видео: avc, 1280x720, 16:9, 30.000 к/с, 307 кб/с
Аудио: aac lc sbr, 44.1 кгц, 62.8 кб/с, 2 аудио
[spoiler="Изменения/Changes"]
Version 2024/6 compared to 2022/9 has increased the duration of 2 minutes. English subtitles have also been added to the course.
[/spoiler]
[spoiler="MediaInfo"]
General
Complete name : D:\2_2\Udemy - Introduction to Testing in Go (Golang) (6.2024)\06 - Testing Validation\001 What we'll cover in this section.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom (isom/iso2/avc1/mp41)
File size : 1.55 MiB
Duration : 34 s 598 ms
Overall bit rate : 375 kb/s
Frame rate : 30.000 FPS
Movie name : 001 What we'll cover in this section
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile :
[email protected]Format settings : CABAC / 4 Ref Frames
Format settings, CABAC : Yes
Format settings, Reference frames : 4 frames
Format settings, GOP : M=4, N=60
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 34 s 434 ms
Bit rate : 307 kb/s
Nominal bit rate : 400 kb/s
Width : 1 280 pixels
Height : 720 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 30.000 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.011
Stream size : 1.26 MiB (81%)
Writing library : x264 core 148
Encoding settings : cabac=1 / ref=3 / deblock=1:0:0 / analyse=0x1:0x111 / me=umh / subme=6 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=22 / lookahead_threads=3 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=60 / keyint_min=6 / scenecut=0 / intra_refresh=0 / rc_lookahead=60 / rc=cbr / mbtree=1 / bitrate=400 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / vbv_maxrate=400 / vbv_bufsize=800 / nal_hrd=none / filler=0 / ip_ratio=1.40 / aq=1:1.00
Codec configuration box : avcC
Audio
ID : 2
Format : AAC LC SBR
Format/Info : Advanced Audio Codec Low Complexity with Spectral Band Replication
Commercial name : HE-AAC
Format settings : Explicit
Codec ID : mp4a-40-2
Duration : 34 s 598 ms
Bit rate mode : Constant
Bit rate : 62.8 kb/s
Channel(s) : 2 channels
Channel layout : L R
Sampling rate : 44.1 kHz
Frame rate : 21.533 FPS (2048 SPF)
Compression mode : Lossy
Stream size : 265 KiB (17%)
Default : Yes
Alternate group : 1
[/spoiler]
[spoiler="Скриншоты"]

[/spoiler]