ADVERTISEMENT
  • Trang chủ
  • Tin Tức
  • Liên hệ
Thứ Hai, Tháng Sáu 5, 2023
Tin Tức Giáo Dục Học Tập Tiny
No Result
View All Result
  • Giáo Án
  • Học Tập
    • Lớp 1
    • Lớp 2
    • Lớp 3
    • Lớp 4
    • Lớp 5
    • Lớp 6
    • Lớp 7
    • Lớp 8
    • Lớp 9
    • Lớp 10
    • Lớp 11
    • Lớp 12
  • Sách Tham Khảo
    • Sách Tham Khảo Lớp 1
    • Sách Tham Khảo Lớp 2
    • Sách Tham Khảo Lớp 3
    • Sách Tham Khảo Lớp 4
    • Sách Tham Khảo Lớp 5
    • Sách Tham Khảo Lớp 6
    • Sách Tham Khảo Lớp 7
    • Sách Tham Khảo Lớp 8
    • Sách Tham Khảo Lớp 9
    • Sách Tham Khảo Lớp 10
    • Sách Tham Khảo Lớp 11
    • Sách Tham Khảo Lớp 12
  • Ôn Thi
    • Thi THPT Quốc Gia
    • Địa Lý
    • Giáo Dục Công Dân
    • Hóa Học
    • Lịch Sử
    • Ngoại Ngữ
    • Ngữ Văn
    • Sinh Học
    • Vật Lý
    • Toán Học
  • Sách Kinh Tế
  • Sách Ngoại Ngữ
    • Tiếng Nhật
    • Tiếng Pháp
    • Tiếng Trung
  • Biểu mẫu
    • Giáo dục – Đào tạo
  • Sách Văn Học
  • Sách Y Học
  • Tài Liệu
    • Thủ tục hành chính
    • Việc làm – Nhân sự
    • Y học
    • Bộ đội – Quốc phòng – Thương binh
    • Doanh nghiệp
    • Giáo dục – Đào tạo
    • Giao thông vận tải
    • Hôn nhân – Gia đình
    • Quyền Dân sự
    • Tin Tức
  • Tâm Lý & Kỹ Năng
  • Giáo Án
  • Học Tập
    • Lớp 1
    • Lớp 2
    • Lớp 3
    • Lớp 4
    • Lớp 5
    • Lớp 6
    • Lớp 7
    • Lớp 8
    • Lớp 9
    • Lớp 10
    • Lớp 11
    • Lớp 12
  • Sách Tham Khảo
    • Sách Tham Khảo Lớp 1
    • Sách Tham Khảo Lớp 2
    • Sách Tham Khảo Lớp 3
    • Sách Tham Khảo Lớp 4
    • Sách Tham Khảo Lớp 5
    • Sách Tham Khảo Lớp 6
    • Sách Tham Khảo Lớp 7
    • Sách Tham Khảo Lớp 8
    • Sách Tham Khảo Lớp 9
    • Sách Tham Khảo Lớp 10
    • Sách Tham Khảo Lớp 11
    • Sách Tham Khảo Lớp 12
  • Ôn Thi
    • Thi THPT Quốc Gia
    • Địa Lý
    • Giáo Dục Công Dân
    • Hóa Học
    • Lịch Sử
    • Ngoại Ngữ
    • Ngữ Văn
    • Sinh Học
    • Vật Lý
    • Toán Học
  • Sách Kinh Tế
  • Sách Ngoại Ngữ
    • Tiếng Nhật
    • Tiếng Pháp
    • Tiếng Trung
  • Biểu mẫu
    • Giáo dục – Đào tạo
  • Sách Văn Học
  • Sách Y Học
  • Tài Liệu
    • Thủ tục hành chính
    • Việc làm – Nhân sự
    • Y học
    • Bộ đội – Quốc phòng – Thương binh
    • Doanh nghiệp
    • Giáo dục – Đào tạo
    • Giao thông vận tải
    • Hôn nhân – Gia đình
    • Quyền Dân sự
    • Tin Tức
  • Tâm Lý & Kỹ Năng
No Result
View All Result
Tin Tức Giáo Dục Học Tập Tiny
No Result
View All Result
ADVERTISEMENT

Trang chủ » Blog » Hướng dẫn pytest python – trăn pytest

Hướng dẫn pytest python – trăn pytest

Sam Van by Sam Van
3 Tháng Mười Một, 2022
in Blog
0
Hướng dẫn pytest python – trăn pytest
ADVERTISEMENT
6 khoảng cách đà nẵng buôn mê thuột tốt nhất hiện nay

Hướng dẫn sử dụng thư viện pytest

Có thể bạn quan tâm
  • Cách kiếm đồ Hoàng Kim Võ Lâm 1 pc
  • 7 cr là gì tốt nhất, bạn nên biết
  • 8 sơ đồ tư duy bài lão hạc hot nhất hiện nay
  • the monopoly guy là gì – Nghĩa của từ the monopoly guy
  • 4 vũ ca sĩ hot nhất, bạn nên biết

1. Cài đặt thư viện pytest:

Bạn Đang Xem: Hướng dẫn pytest python – trăn pytest

Vào cmd gõ: py – m pip install pytest

2. Chạy các file test và các phương thức test:

Theo mặc định thì pytest sẽ chỉ nhận dạng được các file có tên bắt đầu với test_ hoặc kết thúc với _test. Còn đối với các phương thức thì yêu cầu tên của các phương thức bắt đầu bằng “test”, những phương thức có tên khác sẽ bị bỏ qua.

Dưới đây là ví dụ về đặt tên file pytest hợp lệ và không hợp lệ:

test_username.py — hợp lệ

username_test.py — hợp lệ

testusername — không hợp lệ

usernametest — không hợp lệ

Và ví dụ về tên các phương thức pytest hợp lệ và không hợp lệ:

def test_method(): — hợp lệ

def testmethod(): — hợp lệ

def method(): —không hợp lệ

3. Chạy những test được chỉ định:

Chúng ta sẽ sử dụng pytest markers bằng cách định nghĩa các marker trên mỗi phương thức, cách khai báo như sau:

  •  

Ví dụ tạo 2 file test test_1.py và test_2.py có nội dung như bên dưới, sau đó chỉ chạy những test có mark tên example1

Nội dung file test_1.py

import pytest

  1.  

Xem Thêm : An gì de con thông minh ngay từ trong bụng mẹ

def test_equal_1():

a = 1

b = 2

assert a==b, “a không bằng b”

  1.  

def test_equal_2():

a = 1

b = 2

assert a==b, “a không bằng b”

def test_equal_2():

import pytest

  1.  

Xem Thêm : An gì de con thông minh ngay từ trong bụng mẹ

def test_equal_1():

a = 1

b = 2

assert a==b, “a không bằng b”

  1.  

def test_equal_2():

a = 1

b = 2

assert a==b, “a không bằng b”

def test_equal_2():

Nội dung file test_2.py

Sau khi lưu lại 2 file trên, chúng ta sẽ chạy những test có mark tên example1 bằng cách vào đường dẫn nơi đặt 2 file vừa tạo và gõ:

Hướng dẫn pytest python - trăn pytest

Hướng dẫn pytest python - trăn pytest

Hướng dẫn pytest python - trăn pytest

pytest –m example1

Kết quả:

Hướng dẫn pytest python - trăn pytest

Theo như trên hình thì test_1.py có 1 chức năng bị Fail, test_2 có 2 phương thức bị Fail, chỉ ra bị sai ở chỗ nào của phương thức.

Ngoài ra, pytest có cung cấp các mark được định nghĩa sẵn, chúng ta sẽ vào cmd gõ: pytest – -markers

4. Fixtures:

import pytest

  •  

Xem Thêm : An gì de con thông minh ngay từ trong bụng mẹ

def test_equal_1():

a = 1

b = 2

assert a==b, “a không bằng b”

def test_equal_2():

Nội dung file test_2.py

Sau khi lưu lại 2 file trên, chúng ta sẽ chạy những test có mark tên example1 bằng cách vào đường dẫn nơi đặt 2 file vừa tạo và gõ:

pytest –m example1

Sau khi lưu lại 2 file trên, chúng ta sẽ chạy những test có mark tên example1 bằng cách vào đường dẫn nơi đặt 2 file vừa tạo và gõ:

Hướng dẫn pytest python - trăn pytest

Hướng dẫn pytest python - trăn pytest

Xem Tắt

pytest –m example1

  • Kết quả:(04.03.2021)
  • Theo như trên hình thì test_1.py có 1 chức năng bị Fail, test_2 có 2 phương thức bị Fail, chỉ ra bị sai ở chỗ nào của phương thức.(03.03.2021)
  • Ngoài ra, pytest có cung cấp các mark được định nghĩa sẵn, chúng ta sẽ vào cmd gõ: pytest – -markers(01.03.2021)
  • 4. Fixtures:(01.03.2021)
  • Fixtures được dùng để khởi tạo các thông số đầu vào, thay vì trong mỗi đoạn test chúng ta đều phải khai báo các giá trị để đưa vào test thì ta chỉ cần khai báo một lần duy nhất, khi muốn sử dụng vào đoạn test nào thì gọi hàm đã được chúng ta đánh dấu là fixture.(24.02.2021)
  • Chúng ta sẽ đi đến ví dụ sau để dễ hình dung hơn(24.02.2021)
  • def input_value():(22.02.2021)
  • input = 10(22.02.2021)

Giới thiệu về Pytest

Đặt vấn đề

Bạn viết 1 service mà nó yêu cầu lấy dữ liệu từ bên thứ ba sau đó phải xử lý dữ liệu nhận được để đưa ra kết quả trả về cho response, giả sử quá trình đó diễn ra rất mất thời gian (tầm 5s). Và bây giờ bạn muốn kiểm thử hoạt động của service của mình nhưng lại không mong muốn nó gọi API của bên thứ 3 liên tục mỗi lần test vì nó sẽ làm cho quá trình test chậm lại, vả lại việc gọi thêm API sẽ đòi hỏi nhiều bước làm của bạn Một trường hợp khác là hàm cần test cần thao tác với database, nhưng ta không được phép thay đổi hay cập nhật vào database đó (vì sẽ làm nguy hiểm đến hệ thống đang chạy). Vậy điều chúng ta cần ở đây chính là việc có thể thay thế việc gọi API hay truy cập database bằng một hành động khác nào đó mà vẫn có dữ liệu trả về tương tự như API, chúng ta tạm gọi đó là việc mock hay còn gọi là patching

Pytest

Không giống như phần lớn các ngôn ngữ lập trình, Python sử dụng 1 thư viện built-in cho việc testting đó là

# application.py 
from time import sleep  
def is_windows():    
    # This sleep could be some complex operation instead
    sleep(5)    
    return True  
def get_operating_system():    
    return 'Windows' if is_windows() else 'Linux'

0 Để cài đặt và sử dụng

# application.py 
from time import sleep  
def is_windows():    
    # This sleep could be some complex operation instead
    sleep(5)    
    return True  
def get_operating_system():    
    return 'Windows' if is_windows() else 'Linux'

0, ta chạy câu lệnh sau:

# application.py 
from time import sleep  
def is_windows():    
    # This sleep could be some complex operation instead
    sleep(5)    
    return True  
def get_operating_system():    
    return 'Windows' if is_windows() else 'Linux'

Xem Thêm : 6 khoảng cách đà nẵng buôn mê thuột tốt nhất hiện nay

2

Cách sử dụng của Pytest

Đầu tiên ta cần có một hàm để mang đi test, giả sử nó có tên là

# application.py 
from time import sleep  
def is_windows():    
    # This sleep could be some complex operation instead
    sleep(5)    
    return True  
def get_operating_system():    
    return 'Windows' if is_windows() else 'Linux'

3 Việc ta cần làm là:

  1. Tạo file test với cú pháp bắt buộc: có bắt đầu hoặc kết thúc bằng từ
    # application.py 
    from time import sleep  
    def is_windows():    
        # This sleep could be some complex operation instead
        sleep(5)    
        return True  
    def get_operating_system():    
        return 'Windows' if is_windows() else 'Linux'
    

    4 Ví dụ:

    # application.py 
    from time import sleep  
    def is_windows():    
        # This sleep could be some complex operation instead
        sleep(5)    
        return True  
    def get_operating_system():    
        return 'Windows' if is_windows() else 'Linux'
    

    5

  2. Tạo hàm test với cú pháp bắt đầu bằng từ
    # application.py 
    from time import sleep  
    def is_windows():    
        # This sleep could be some complex operation instead
        sleep(5)    
        return True  
    def get_operating_system():    
        return 'Windows' if is_windows() else 'Linux'
    

    4 Ví dụ:

    # application.py 
    from time import sleep  
    def is_windows():    
        # This sleep could be some complex operation instead
        sleep(5)    
        return True  
    def get_operating_system():    
        return 'Windows' if is_windows() else 'Linux'
    

    7 Sử dụng

    # application.py 
    from time import sleep  
    def is_windows():    
        # This sleep could be some complex operation instead
        sleep(5)    
        return True  
    def get_operating_system():    
        return 'Windows' if is_windows() else 'Linux'
    

    8 để so sánh kết quả khi gọi hàm

    # application.py 
    from time import sleep  
    def is_windows():    
        # This sleep could be some complex operation instead
        sleep(5)    
        return True  
    def get_operating_system():    
        return 'Windows' if is_windows() else 'Linux'
    

    3 với

    # test_application.py
    
    from application import get_operating_system
    
    def test_get_operating_system():
        assert get_operating_system() == 'Windows'
    

    0 ta mong muốn (

    # application.py 
    from time import sleep  
    def is_windows():    
        # This sleep could be some complex operation instead
        sleep(5)    
        return True  
    def get_operating_system():    
        return 'Windows' if is_windows() else 'Linux'
    

    8 sẽ raise lên lỗi khi kết quả không bằng nhau)

  3. Chạy test Sử dụng
    # test_application.py
    
    from application import get_operating_system
    
    def test_get_operating_system():
        assert get_operating_system() == 'Windows'
    

    2 để chạy dòng lệnh sau:

# test_application.py

from application import get_operating_system

def test_get_operating_system():
    assert get_operating_system() == 'Windows'

3

Giải thích:
    Flag `-k` đi kèm với 1 keyword, Pytest sẽ tìm các hàm có tên hàm chứa keyword đó để chạy (rất hữu ích trong trường hợp bạn viết nhiều hàm test cho nhiều API và muốn chạy 1 hàm cụ thể)
    Flag `-v` sẽ hiển thị nhiều thông tin của testcase hơn khi chạy testing
    Flag `-vv` tương tự như `-v` nhưng sẽ hiển thị chi tiết trong trường hợp nếu testcase failed (đầu ra với output khác nhau) sẽ chỉ ra khác nhau ở đoạn nào
    Flag `-s` sẽ thực thi và in ra nội dung của các câu lệnh print trong code (Mà pytest sẽ bỏ qua lệnh print)

Ví dụ đơn giản về sử dụng Pytest

Ví dụ này sẽ giúp bạn hiểu tại sao nên sử dụng mock để có thể tăng tốc độ testing và không ảnh hưởng đến code base mà bạn đã viết Giả sử ta có hàm

# test_application.py

from application import get_operating_system

def test_get_operating_system():
    assert get_operating_system() == 'Windows'

5 sẽ cho ta biết máy tính đang sử dụng Windows hay Linux

# application.py 
from time import sleep  
def is_windows():    
    # This sleep could be some complex operation instead
    sleep(5)    
    return True  
def get_operating_system():    
    return 'Windows' if is_windows() else 'Linux'

Trong đó, hàm

# test_application.py

from application import get_operating_system

def test_get_operating_system():
    assert get_operating_system() == 'Windows'

6 để check nếu hệ điều hành hiện tại là Windows hay không, ta giả sử hàm này khá phức tạp và tốn khá nhiều thời gian để chạy, ta giả sử bằng hàm sleep(5), nghĩa là chương trình sẽ mất 5s để xử lý Hàm

# test_application.py

from application import get_operating_system

def test_get_operating_system():
    assert get_operating_system() == 'Windows'

5 sẽ là phần code base và ta cần phải mang nó đi test để kiểm thử Ta cần một hàm chạy test, có tên là

# test_application.py

from application import get_operating_system

def test_get_operating_system():
    assert get_operating_system() == 'Windows'

8 sau:

# test_application.py

from application import get_operating_system

def test_get_operating_system():
    assert get_operating_system() == 'Windows'

Sau đó ta chạy lệnh test:

$ pytest
================ test session starts ========================
Python 3.7.3, pytest-5.4.1, py-1.8.1, pluggy-0.13.1
rootdir: /usr/Personal/Projects/pytest-and-mocking
plugins: mock-2.0.0
collected 1 item

test_application.py .                                    [100%]

================ 1 passed in 5.05s ==========================

Ta thấy kết quả chạy thực sự khá lâu, và để khắc phục điều đó, ta sẽ sử dụng khái niệm gọi là

# test_application.py

from application import get_operating_system

def test_get_operating_system():
    assert get_operating_system() == 'Windows'

9 và để nó là tham số của hàm test, nó có tác dụng làm test của ta khi gọi đến hàm

$ pytest
================ test session starts ========================
Python 3.7.3, pytest-5.4.1, py-1.8.1, pluggy-0.13.1
rootdir: /usr/Personal/Projects/pytest-and-mocking
plugins: mock-2.0.0
collected 1 item

test_application.py .                                    [100%]

================ 1 passed in 5.05s ==========================

0 sẽ không chạy hàm thật, mà return luôn về giá trị mà ta định sẵn trong đối số của

# test_application.py

from application import get_operating_system

def test_get_operating_system():
    assert get_operating_system() == 'Windows'

9

# test_application.py

from application import get_operating_system

def test_get_operating_system():
    assert get_operating_system() == 'Windows'

9 sẽ nhận 2 đối số, một là

$ pytest
================ test session starts ========================
Python 3.7.3, pytest-5.4.1, py-1.8.1, pluggy-0.13.1
rootdir: /usr/Personal/Projects/pytest-and-mocking
plugins: mock-2.0.0
collected 1 item

test_application.py .                                    [100%]

================ 1 passed in 5.05s ==========================

3 – là đường dẫn đến nơi hàm mà ta định fake hàm, hai là

$ pytest
================ test session starts ========================
Python 3.7.3, pytest-5.4.1, py-1.8.1, pluggy-0.13.1
rootdir: /usr/Personal/Projects/pytest-and-mocking
plugins: mock-2.0.0
collected 1 item

test_application.py .                                    [100%]

================ 1 passed in 5.05s ==========================

4 là giá trị trả về khi gọi hàm fake đó Bây giờ ta sẽ update lại hàm test, sử dụng

# test_application.py

from application import get_operating_system

def test_get_operating_system():
    assert get_operating_system() == 'Windows'

9:

# 'mocker' fixture provided by pytest-mock
def test_get_operating_system(mocker):  
    # Mock the slow function and return True always
    mocker.patch('application.is_windows', return_value=True) 
    assert get_operating_system() == 'Windows'

Ta chạy lại code test sẽ thấy kết quả được cải thiện:

$ pytest
============ test session starts ==================
Python 3.7.3, pytest-5.4.1, py-1.8.1, pluggy-0.13.1
rootdir: /mnt/c/Personal/Projects/pytest-and-mocking
plugins: mock-2.0.0
collected 1 item

test_application.py .                          [100%]

=========== 1 passed in 0.11s ======================

Trong ví dụ trên ta mặc định những gì ta trả về chỉ là giá trị

$ pytest
================ test session starts ========================
Python 3.7.3, pytest-5.4.1, py-1.8.1, pluggy-0.13.1
rootdir: /usr/Personal/Projects/pytest-and-mocking
plugins: mock-2.0.0
collected 1 item

test_application.py .                                    [100%]

================ 1 passed in 5.05s ==========================

6, giờ muốn nó là

$ pytest
================ test session starts ========================
Python 3.7.3, pytest-5.4.1, py-1.8.1, pluggy-0.13.1
rootdir: /usr/Personal/Projects/pytest-and-mocking
plugins: mock-2.0.0
collected 1 item

test_application.py .                                    [100%]

================ 1 passed in 5.05s ==========================

7 thì sẽ viết như sau:

def test_operation_system_is_linux(mocker):
    mocker.patch('application.is_windows', return_value=False) # set the return value to be False
    assert get_operating_system() == 'Linux'

Tài liệu tham khảo

https://www.freblogg.com/pytest-functions-mocking-1

ADVERTISEMENT

Nguồn: https://quatangtiny.com
Danh mục: Blog

Liên Quan:

Cách qua môn triết học mác – lêninCách qua môn triết học mác – lênin Hướng dẫn try catch api call javascript – thử bắt api call javascriptHướng dẫn try catch api call javascript – thử bắt api call javascript Hướng dẫn how do you convert a list to an array in python? – làm thế nào để bạn chuyển đổi một danh sách thành một mảng trong python?Hướng dẫn how do you convert a list to an array in python? – làm thế nào để bạn chuyển đổi một danh sách thành một mảng trong python? Viết chương trình nhập vào một số nguyên có 2 chữ số in ra chữ số hàng chục và hàng đơn vị PythonViết chương trình nhập vào một số nguyên có 2 chữ số in ra chữ số hàng chục và hàng đơn vị Python
Tags: Hướng dẫn pytest python - trăn pytest
ADVERTISEMENT
Previous Post

Bộ đề thi giữa học kì 1 lớp 6 năm 2022 – 2023 sách Kết nối tri thức với cuộc sống (9 môn)

Next Post

Đề thi giữa học kì 1 môn Toán 10 năm 2022 – 2023 sách Chân trời sáng tạo

Related Posts

8 tuyen sinh lop 10 ba ria vung tau hot nhất
Blog

8 tuyen sinh lop 10 ba ria vung tau hot nhất

5 Tháng Sáu, 2023
5 cách giải tầng 3 rubik 3×3 tốt nhất
Blog

5 cách giải tầng 3 rubik 3×3 tốt nhất

5 Tháng Sáu, 2023
5 mận hà nội bao nhiêu calo hay nhất hiện nay
Blog

5 mận hà nội bao nhiêu calo hay nhất hiện nay

5 Tháng Sáu, 2023
Tổng hợp 6 vật lý lớp 7 bài 3 hay nhất
Blog

Tổng hợp 6 vật lý lớp 7 bài 3 hay nhất

5 Tháng Sáu, 2023
Danh sách 4 cách đăng ký 4g viettel 1 ngày 3k tốt nhất, bạn nên biết
Blog

Danh sách 4 cách đăng ký 4g viettel 1 ngày 3k tốt nhất, bạn nên biết

5 Tháng Sáu, 2023
4 cách thay đầu tông đơ hot nhất, bạn nên biết
Blog

4 cách thay đầu tông đơ hot nhất, bạn nên biết

5 Tháng Sáu, 2023
Next Post
Đề thi giữa học kì 1 môn Toán 10 năm 2022 – 2023 sách Chân trời sáng tạo

Đề thi giữa học kì 1 môn Toán 10 năm 2022 - 2023 sách Chân trời sáng tạo

Bài Viết Mới

Tổng hợp 8 ký tự khoảng trắng tốt nhất hiện nay
Tham khảo

Tổng hợp 8 ký tự khoảng trắng tốt nhất hiện nay

by Tiny Edu
5 Tháng Sáu, 2023
0

Dưới đây là danh sách ký tự khoảng trắng hot nhất được tổng hợp bởi M & Tôi

Read more
8 have you ever entered a tropical rainforest tốt nhất, đừng bỏ qua

8 have you ever entered a tropical rainforest tốt nhất, đừng bỏ qua

5 Tháng Sáu, 2023
6 thư upu lớp 7 tốt nhất

6 thư upu lớp 7 tốt nhất

5 Tháng Sáu, 2023
8 tuyen sinh lop 10 ba ria vung tau hot nhất

8 tuyen sinh lop 10 ba ria vung tau hot nhất

5 Tháng Sáu, 2023
Quang Hải và giới hạn bóng đá Việt Nam

Quang Hải và giới hạn bóng đá Việt Nam

5 Tháng Sáu, 2023
5 cách giải tầng 3 rubik 3×3 tốt nhất

5 cách giải tầng 3 rubik 3×3 tốt nhất

5 Tháng Sáu, 2023
5 mận hà nội bao nhiêu calo hay nhất hiện nay

5 mận hà nội bao nhiêu calo hay nhất hiện nay

5 Tháng Sáu, 2023
Tổng hợp 6 vật lý lớp 7 bài 3 hay nhất

Tổng hợp 6 vật lý lớp 7 bài 3 hay nhất

5 Tháng Sáu, 2023
Danh sách 4 cách đăng ký 4g viettel 1 ngày 3k tốt nhất, bạn nên biết

Danh sách 4 cách đăng ký 4g viettel 1 ngày 3k tốt nhất, bạn nên biết

5 Tháng Sáu, 2023
4 cách thay đầu tông đơ hot nhất, bạn nên biết

4 cách thay đầu tông đơ hot nhất, bạn nên biết

5 Tháng Sáu, 2023

Phản hồi gần đây

  • Tả cây cam mà em yêu thích (Dàn ý + 7 mẫu) - Tài Liệu Miễn Phí trong Tả một loại cây ăn quả mà em thích (Dàn ý + 70 Mẫu)
  • Mẫu vở luyện viết chữ đẹp - Tài Liệu Miễn Phí trong Mẫu giấy 4 ô ly
  • Bộ đề thi thử vào lớp 10 môn tiếng Anh năm 2018 - 2019 - Tài Liệu Miễn Phí trong Bộ đề thi thử vào lớp 10 môn Toán năm 2018 – 2019
  • Đề thi thử THPT Quốc gia năm 2017 môn Địa lý trường THPT Đoàn Thượng, Hải Dương (Lần 1) - Tài Liệu Miễn Phí trong Đề thi thử THPT Quốc gia năm 2017 môn Địa lý trường THPT Lý Thái Tổ, Bắc Ninh (Lần 1)
  • Đoạn văn tiếng Anh về môn thể thao yêu thích (8 mẫu) - Tài Liệu Miễn Phí trong Đoạn văn tiếng Anh về ngày Tết
ADVERTISEMENT
  • Trang chủ
  • Tin Tức
  • Liên hệ
HOME - TRANG CHU

© 2021 Copyright - Quà Tặng Tiny

No Result
View All Result
  • Giáo Án
  • Học Tập
    • Lớp 1
    • Lớp 2
    • Lớp 3
    • Lớp 4
    • Lớp 5
    • Lớp 6
    • Lớp 7
    • Lớp 8
    • Lớp 9
    • Lớp 10
    • Lớp 11
    • Lớp 12
  • Sách Tham Khảo
    • Sách Tham Khảo Lớp 1
    • Sách Tham Khảo Lớp 2
    • Sách Tham Khảo Lớp 3
    • Sách Tham Khảo Lớp 4
    • Sách Tham Khảo Lớp 5
    • Sách Tham Khảo Lớp 6
    • Sách Tham Khảo Lớp 7
    • Sách Tham Khảo Lớp 8
    • Sách Tham Khảo Lớp 9
    • Sách Tham Khảo Lớp 10
    • Sách Tham Khảo Lớp 11
    • Sách Tham Khảo Lớp 12
  • Ôn Thi
    • Thi THPT Quốc Gia
    • Địa Lý
    • Giáo Dục Công Dân
    • Hóa Học
    • Lịch Sử
    • Ngoại Ngữ
    • Ngữ Văn
    • Sinh Học
    • Vật Lý
    • Toán Học
  • Sách Kinh Tế
  • Sách Ngoại Ngữ
    • Tiếng Nhật
    • Tiếng Pháp
    • Tiếng Trung
  • Biểu mẫu
    • Giáo dục – Đào tạo
  • Sách Văn Học
  • Sách Y Học
  • Tài Liệu
    • Thủ tục hành chính
    • Việc làm – Nhân sự
    • Y học
    • Bộ đội – Quốc phòng – Thương binh
    • Doanh nghiệp
    • Giáo dục – Đào tạo
    • Giao thông vận tải
    • Hôn nhân – Gia đình
    • Quyền Dân sự
    • Tin Tức
  • Tâm Lý & Kỹ Năng

© 2021 Copyright - Quà Tặng Tiny