Book Image

Odoo 10 Development Essentials

By : Daniel Reis
Book Image

Odoo 10 Development Essentials

By: Daniel Reis

Overview of this book

Odoo is one of the fastest growing open source, business application development software products available. With announcement of Odoo 10, there are many new features added to Odoo and the face of business applications developed with Odoo has changed. This book will not only teach you how to build and customize business applications with Odoo, but it also covers all the new features that Odoo has to offer. This book is the latest resource on developing and customizing Odoo 10 applications. It comes packed with much more and refined content than its predecessor. It will start with building business applications from scratch and will cover topics such as module extensions, inheritance, working with data, user interfaces, and so on. The book also covers the latest features of Odoo 10, in addition to front end development, testing and debugging techniques. The book will also talk about Odoo Community and Odoo Enterprise.
Table of Contents (20 chapters)
Odoo 10 Development Essentials
Credits
Foreword
About the Author
About the Reviewer
www.PacktPub.com
Preface

Testing exceptions


Sometimes we need our tests to check if an exception was generated. A common case is when testing if some validations are being done properly.

In our example, the test_count() method uses a Warning exception as a way to give information to the user. To check if an exception is raised, we place the corresponding code inside a with self.assertRaises() block.

We need to import the Warning exception at the top of the file:

from odoo.exceptions import Warning

And add to the test class a method with another test case:

def test_count(self): 
    "Test count button" 
    with self.assertRaises(Warning) as e: 
        self.wizard.do_count_tasks() 
    self.assertIn(' 2 ', str(e.exception)) 

If the do_count_tasks() method does not raise an exception, the check will fail. If it does raise that exception, the check succeeds and the exception raised is stored in the e variable.

We use that to further inspect it. The exception message contains the number of...