diff --git a/.rubocop.yml b/.rubocop.yml
index 32ec60f540b16c6bc02dc178747dbbc7609b463f..9785e7626f945b6fdbaee1741f3a4f014281402f 100644
--- a/.rubocop.yml
+++ b/.rubocop.yml
@@ -965,6 +965,10 @@ RSpec/AnyInstance:
 RSpec/BeEql:
   Enabled: true
 
+# We don't enforce this as we use this technique in a few places.
+RSpec/BeforeAfterAll:
+  Enabled: false
+
 # Check that the first argument to the top level describe is the tested class or
 # module.
 RSpec/DescribeClass:
@@ -1024,6 +1028,12 @@ RSpec/FilePath:
 RSpec/Focus:
   Enabled: true
 
+# Configuration parameters: EnforcedStyle, SupportedStyles.
+# SupportedStyles: is_expected, should
+RSpec/ImplicitExpect:
+  Enabled: true
+  EnforcedStyle: is_expected
+
 # Checks for the usage of instance variables.
 RSpec/InstanceVariable:
   Enabled: false
diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml
index 5ab4692dd60c8182bae4ec54af5bfbad84d872f6..2ec558e274f64af7abd9d2cef9bb264374288307 100644
--- a/.rubocop_todo.yml
+++ b/.rubocop_todo.yml
@@ -6,10 +6,6 @@
 # Note that changes in the inspected code, or installation of new
 # versions of RuboCop, may require this file to be generated again.
 
-# Offense count: 54
-RSpec/BeforeAfterAll:
-  Enabled: false
-
 # Offense count: 233
 RSpec/EmptyLineAfterFinalLet:
   Enabled: false
@@ -24,12 +20,6 @@ RSpec/EmptyLineAfterSubject:
 RSpec/HookArgument:
   Enabled: false
 
-# Offense count: 12
-# Configuration parameters: EnforcedStyle, SupportedStyles.
-# SupportedStyles: is_expected, should
-RSpec/ImplicitExpect:
-  Enabled: false
-
 # Offense count: 11
 # Configuration parameters: EnforcedStyle, SupportedStyles.
 # SupportedStyles: it_behaves_like, it_should_behave_like
diff --git a/spec/models/project_group_link_spec.rb b/spec/models/project_group_link_spec.rb
index 4161b9158b1ac6693a50e8a1d003ff51cb844485..d68d8b719cdd5a6abb2ae14e47e44c7638fa7be2 100644
--- a/spec/models/project_group_link_spec.rb
+++ b/spec/models/project_group_link_spec.rb
@@ -2,8 +2,8 @@ require 'spec_helper'
 
 describe ProjectGroupLink do
   describe "Associations" do
-    it { should belong_to(:group) }
-    it { should belong_to(:project) }
+    it { is_expected.to belong_to(:group) }
+    it { is_expected.to belong_to(:project) }
   end
 
   describe "Validation" do
@@ -12,10 +12,10 @@ describe ProjectGroupLink do
     let(:project) { create(:project, group: group) }
     let!(:project_group_link) { create(:project_group_link, project: project) }
 
-    it { should validate_presence_of(:project_id) }
-    it { should validate_uniqueness_of(:group_id).scoped_to(:project_id).with_message(/already shared/) }
-    it { should validate_presence_of(:group) }
-    it { should validate_presence_of(:group_access) }
+    it { is_expected.to validate_presence_of(:project_id) }
+    it { is_expected.to validate_uniqueness_of(:group_id).scoped_to(:project_id).with_message(/already shared/) }
+    it { is_expected.to validate_presence_of(:group) }
+    it { is_expected.to validate_presence_of(:group_access) }
 
     it "doesn't allow a project to be shared with the group it is in" do
       project_group_link.group = group
diff --git a/spec/models/project_services/external_wiki_service_spec.rb b/spec/models/project_services/external_wiki_service_spec.rb
index 291fc645a1c9bbf220052866d01f6fc513011921..ef10df9e092fe770d94238bec3378bf5e5127f77 100644
--- a/spec/models/project_services/external_wiki_service_spec.rb
+++ b/spec/models/project_services/external_wiki_service_spec.rb
@@ -3,8 +3,8 @@ require 'spec_helper'
 describe ExternalWikiService, models: true do
   include ExternalWikiHelper
   describe "Associations" do
-    it { should belong_to :project }
-    it { should have_one :service_hook }
+    it { is_expected.to belong_to :project }
+    it { is_expected.to have_one :service_hook }
   end
 
   describe 'Validations' do
diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb
index 1390848ff4afb00ddaabe29378e0e5479a447c8d..f9b702c54aa510ea194675909b27c1e361110b72 100644
--- a/spec/models/project_spec.rb
+++ b/spec/models/project_spec.rb
@@ -823,13 +823,13 @@ describe Project, models: true do
 
       let(:avatar_path) { "/#{project.full_path}/avatar" }
 
-      it { should eq "http://#{Gitlab.config.gitlab.host}#{avatar_path}" }
+      it { is_expected.to eq "http://#{Gitlab.config.gitlab.host}#{avatar_path}" }
     end
 
     context 'when git repo is empty' do
       let(:project) { create(:empty_project) }
 
-      it { should eq nil }
+      it { is_expected.to eq nil }
     end
   end